PL / SQL:如何接受程序内部的输入

时间:2018-03-28 11:28:31

标签: oracle plsql parameter-passing

我有以下程序,我需要接受模式名称。程序会 只能在那个架构中执行。

CREATE OR REPLACE PROCEDURE my_procedure() AS
BEGIN
FCSCHEMA VARCHAR2(20) := :SCHEMA; --How to accept the parameter and pass it on to below code.


   result := FCSCHEMA.my_package.my_function(p_param1);

END;
/

Currenly我收到PLS-00049: bad bind variable 'SCHEMA'错误。

1 个答案:

答案 0 :(得分:2)

试试这个:

CREATE OR REPLACE PROCEDURE my_procedure() AS

FCSCHEMA VARCHAR2(20) := 'SCHEMA'; 
BEGIN

   execute immediate 'BEGIN :res := '||FCSCHEMA ||'.my_package.my_function(:p_param1); END;' 
        USING OUT result, IN p_param1;

END;
/