Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Próba utworzenia pakietu - błąd PLS-00330

Błąd jest zgłaszany w wierszu 11 treści pakietu, który jest

    RETURN NUMBER;

Liczba to typ danych, a nie nazwa zmiennej. Nie jest jasne, do czego tak naprawdę chcesz tu wrócić; gdy pytasz i przechwytujesz to, być może LOCATION; ale ponieważ jest to ciąg znaków, zwracany typ funkcji również musiałby być ciągiem (tj. VARCHAR2 zamiast NUMBER ). Być może:

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;

Lub jeszcze lepiej, użyj typu danych kolumny, jak już gdzie indziej:

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

Tak czy inaczej, będziesz musiał oczywiście zmienić specyfikację pakietu, aby pasowała.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Importuj Oracle UNION ALL View do Entity Framework EDMX

  2. SQL - Jak wybrać wiersz mający kolumnę z maksymalną wartością (+ grupuj według)

  3. Czy istnieje sposób na przechowywanie tekstu Unicode w bazie danych Oracle skonfigurowanej jako „US7ASCII”

  4. Uzyskaj całkowitą liczbę wierszy w zapytaniu o paginację

  5. Wyrażenie regularne Oracle zawierające myślnik nie daje takiego samego wyniku w systemie Windows jak w systemie Unix