【发布时间】:2010-09-09 08:17:23
【问题描述】:
我创建了以下程序,但它给出了 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;
/
【问题讨论】:
-
这是创建时的编译错误还是运行时的错误?如果是后者,遇到该错误时如何运行它?
-
当我运行程序时出现此错误。我使用 Toad 工具来创建和运行程序。使用“执行过程”选项运行它。
标签: oracle10g