【发布时间】:2016-11-23 23:14:37
【问题描述】:
我是 PL/SQL 的新手,我正在尝试创建这个包,到目前为止我遇到了很多问题。
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 上,通过阅读与此问题相关的其他回答我无法弄清楚原因
【问题讨论】:
标签: oracle plsql oracle-sqldeveloper