【发布时间】:2012-01-25 18:47:53
【问题描述】:
以下过程(在 Oracle 11g 第 1 版中)接受 sql 作为参数并返回其返回码。
如果成功则返回 0
如果没有更新或删除,则返回 1
在失败的情况下返回实际的错误代码。
如何更改以下程序以返回另一个输出参数“return_message”,其中将包含 Oracle 内部错误消息的简短描述?如果成功,它应该说“成功”,如果没有执行删除/更新,它应该说“nochange”
CREATE OR REPLACE PROCEDURE "demo"."run_demo"(v_sql IN VARCHAR2, return_code OUT number)
AS
i number;
BEGIN
return_code := 0;
execute immediate v_sql;
i := sql%rowcount;
IF (i<1)
THEN return_code := 1;
END IF;
EXCEPTION
WHEN OTHERS THEN
return_code := SQLCODE;
END;
【问题讨论】:
标签: oracle oracle10g oracle11g oracle9i