Rückmeldung von Fehlercodes in der Oracle-Gespeicherte Prozedur

Das unten stehende Verfahren (in Oracle 11g release 1) akzeptiert ein sql als parameter & liefert den return-code.

Gibt 0 zurück, wenn der Erfolg

Gibt 1 zurück, wenn kein update oder keine löschen führt

Gibt der Fehler-code im Fehlerfall.

Wie kann ich das ändern unten stehende Verfahren, um die Rückkehr der anderen aus mir param sagen "return_message" enthalten kurze Beschreibung der oracle-interne Fehlermeldung? Im Falle des Erfolgs, es sollte sagen, "Erfolg" und im Fall nicht löschen/updates durchgeführt, es sollte sagen: "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;

InformationsquelleAutor Mike | 2011-12-22

Schreibe einen Kommentar