我有以下程序,我需要接受模式名称。程序会 只能在那个架构中执行。
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'
错误。
答案 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;
/