我已经创建了下面的过程,但它给出了PLS-00302错误。由于提前:)PLSQL错误PLS-00302
ORA-06550:线11,第12列:PLS-00302:组分 'GET_LATEST_LSR_TRANSACTION' 必须是 声明ORA-06550:线11,第3栏: PL/SQL:语句忽略
CREATE OR REPLACE procedure SEA_USER.Get_Latest_LSR_Transaction (tn IN VARCHAR2, pon OUT VARCHAR2, duedate OUT TIMESTAMP)
IS
trans_oid NUMBER(10) := 0;
foc_trans_oid NUMBER(10) := 0;
BEGIN
SELECT TRANS_OID INTO trans_oid FROM SEA_LSR_TN WHERE tn BETWEEN STARTTN AND ENDTN;
SELECT MAX(T.OID) INTO foc_trans_oid FROM SEA_LSR_TRANS T, SEA_LSR_TXEVENT_HISTORY H WHERE T.OID IN (trans_oid) AND T.OID = H.TRANS_PARENT_OID AND H.EVENT_CODE IN ('focaccept', 'suppaccept') AND T.REQTYP = 'CB';
IF foc_trans_oid != 0
THEN
SELECT PON, DUEDATE INTO pon, duedate FROM SEA_LSR_TRANS WHERE OID = foc_trans_oid;
ELSE
SELECT PON, DUEDATE INTO pon, duedate FROM SEA_LSR_TRANS WHERE OID = trans_oid;
END IF;
END;
/
这是您创建时的编译错误还是运行时的错误?如果是后者,当你得到这个错误时你如何运行它? – 2010-09-09 08:32:05
运行该过程时出现此错误。我使用Toad工具创建并运行该过程。通过使用“执行过程”选项运行它。 – praveen 2010-09-09 08:55:50