Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Mencoba membuat paket - kesalahan PLS-00330

Kesalahan dilaporkan terhadap baris 11 dari isi paket, yaitu

    RETURN NUMBER;

Nomor adalah tipe data, bukan nama variabel. Tidak jelas apa yang sebenarnya ingin Anda kembalikan ke sini; saat Anda menanyakan dan menangkapnya, mungkin LOCATION; tetapi karena itu adalah string, tipe pengembalian fungsi juga harus berupa string (yaitu VARCHAR2 daripada NUMBER ). Mungkin:

create or replace PACKAGE BODY e_con_pack
    AS
    FUNCTION 
    GET_LOCATION_namel (p_con_id in NUMBER, p_con_name out VARCHAR2)
    RETURN VARCHAR2 IS  
     LOCATION VARCHAR2(30);
    BEGIN
      SELECT LOCATION INTO LOCATION FROM LDS_CONSULTANT WHERE CONSULTANT_ID = p_con_id;    
      SELECT CST_NAME INTO p_con_name FROM LDS_CONSULTANT WHERE CONSULTANT_ID = p_con_id;

    RETURN LOCATION;
    END GET_LOCATION_namel;

Atau bahkan lebih baik, gunakan tipe data kolom seperti yang sudah Anda lakukan di tempat lain:

create or replace PACKAGE BODY e_con_pack
    AS
    FUNCTION 
    GET_LOCATION_namel (p_con_id in NUMBER, p_con_name out VARCHAR2)
    RETURN LDS_CONSULTANT.LOCATION%type IS  
     LOCATION LDS_CONSULTANT.LOCATION%type;
    BEGIN
...

Bagaimanapun, Anda perlu mengubah spesifikasi paket agar sesuai, tentu saja.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana menjalankan prosedur tersimpan dalam sesi yang berbeda dalam waktu yang sama di pl/sql

  2. Menggunakan cakupan transaksi dan kueri

  3. Temukan Semua Nilai Non-Numerik dalam Kolom di Oracle

  4. Bagaimana cara mengambil data dari SQL Server ke SqlDataReader bekerja?

  5. Menggunakan Alias ​​​​dalam kueri yang mengakibatkan perintah tidak berakhir dengan benar