我有一个包,它的主体由一个存储过程组成。
存储过程调用另一个包中的存储过程。但是,我需要将 select 语句的结果作为参数传递。所以我将结果存储在一个变量中并将其作为参数传递。但是,当执行过程调用时,它说,变量没有被声明。
这是示例代码。
create or replace
PACKAGE BODY PKG_BODY
PROCEDURE PROC (error OUT VARCHAR2,
RESULT OUT BOOLEAN ) AS
-----------------------------
-----------------------------
DECLARE
PARAM TABLE1.COLUMN1%TYPE;
BEGIN
SELECT COLUMN1
INTO PARAM
FROM TABLE1
WHERE COLUMN2=ID AND COLUMN3='NAME';
END;
PUBLISH_MSG.PUBLISH_PMM_MSG('ID',PARAM,PO_ERR_MSG); --another procedure call
END PROC;
我收到以下错误:
PLS:00201 'Identifier PARAM must be declaed'
我必须在其他地方之前声明 PARAM 吗?请帮忙 !!