Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cố gắng tạo một gói - lỗi PLS-00330

Lỗi được báo cáo đối với dòng 11 của phần thân gói, đó là

    RETURN NUMBER;

Số là một kiểu dữ liệu, không phải là một tên biến. Không rõ bạn thực sự muốn gì để trở lại đây; khi bạn đang truy vấn và nắm bắt nó, có lẽ là LOCATION; nhưng vì đó là một chuỗi, nên kiểu trả về của hàm cũng cần phải là một chuỗi (tức là VARCHAR2 thay vì NUMBER ). Có lẽ:

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;

Hoặc thậm chí tốt hơn, sử dụng kiểu dữ liệu cột như bạn đã ở nơi khác:

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
...

Tất nhiên, bạn sẽ cần phải thay đổi đặc điểm kỹ thuật của gói để phù hợp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh ngày và giờ Sql từ bảng kép

  2. Kết nối và xử lý dữ liệu tiên tri từ Objective-C trên Mac OS

  3. PostgreSQL so với Oracle:Sự khác biệt về chi phí, tính dễ sử dụng và chức năng

  4. Oracle, Đặt ngày giờ thành ngày đầu tiên của tháng

  5. Bộ sưu tập PL / SQL:Bảng lồng nhau trong cơ sở dữ liệu Oracle