以下过程(在Oracle 11g版本1中)接受sql作为参数&返回其返回代码。Oracle存储过程中的错误代码返回消息
返回0,成功
返回1,如果没有更新或在故障的情况下没有删除执行
返回实际的错误代码。
我该如何改变下面的过程来返回我另一个出来参数说“return_message”,它将包含oracle内部错误消息的简短说明?在成功的情况下,它应该说是“成功”,并在案件没有删除/更新完成,应该说“NO-CHANGE”
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;
忽略这一点,丹尼尔打了我几分钟。 – 2011-12-22 02:32:51