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