0
我是PL/SQL的新手,我試圖創建這個包,到目前爲止我遇到了很多問題。PLS-00330在包體上無效使用類型名稱或子類型名稱
create or replace PACKAGE Pkg IS
TYPE motivos IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;
PROCEDURE Proc(lote IN VARCHAR2, e IN NUMBER, obs IN VARCHAR2, motives IN motivos);
END Pkg;
/
CREATE OR REPLACE PACKAGE BODY Pkg IS
PROCEDURE Proc(lote IN VARCHAR2, e IN NUMBER, obs IN VARCHAR2, motives IN motivos) AS
exist NUMBER(2);
BEGIN
SELECT count(*) INTO exist
FROM Lote l
WHERE l.numero=lote;
IF exist>0 THEN
UPDATE Lote SET empleadoDescarte=e, observacionesDescarte=obs, fechaDescarte=sysdate WHERE numero=lote;
COMMIT;
FOR motivo IN motivos
LOOP
Insert into MOTIVO (NROLOTE, MOTIVO) values (lote,motivo);
END LOOP;
COMMIT;
DBMS_OUTPUT.PUT_LINE('Ok.');
ELSE
DBMS_OUTPUT.PUT_LINE('Error.');
END IF;
END;
END Pkg;
/
當我運行這是一個腳本,它給了我下面的錯誤:
Error(13,4): PL/SQL: Statement ignored
Error(13,18): PLS-00330: invalid use of type name or subtype name
問題是與exist
,我一直無法弄清楚爲什麼通過閱讀其他anwsers相關對此問題
謝謝,我會按照你的建議 – moondaisy