我有下表和相关栏目。
TABLEA
SQL_SCRIPT CLOB
这是一个在clob中执行pl / sql块的过程..
Create procedure (p_exit_code IN OUT NUMBER)
AS
V_sql_val sql_script%TYPE;
…
BEGIN
Select sql_script into v_sql_val from tablea;
EXECUTE IMMEDIATE sql_script;
END;
在SQL_SCRIPT中,我试图在异常处理程序中执行以下操作:
EXCEPTION
WHEN EXCP_STOP_PROCESS THEN
p_exit_code := 1;
END;
我需要在clob脚本中设置过程中p_exit_code参数的值。我怎么能这样做?
答案 0 :(得分:2)
如果我理解正确,您需要在sql_script
内设置变量的值并将其返回给调用过程。这可以使用绑定变量来实现。一个非常简单的测试用例如下:
declare
-- ':return_code' is the bind variable
sql_script varchar2(1000) := 'begin :return_code := 1; end;';
vn_result number;
begin
execute immediate sql_script using out vn_result;
dbms_output.put_line(vn_result);
end;