Frage

Ich schreibe die folgenden Abfragen in Oracle:

DBMS_OUTPUT ..... 'Ashish'

Wählen Sie col1 in val1 von tab_1

DBMS_OUTPUT ..... 'Ubale'

, wenn ich diese Prozedur ausführen bekomme ich die Ausgabe als „Ashish“ nur warum? auch das, was der Wert von v_val1 Variable wird

Hinweis: Die Tabelle enthält keine Datensätze

War es hilfreich?

Lösung

Da die Tabelle leer ist, wird die „select into“ Anweisung der NO_DATA_FOUND Ausnahme ausgelöst. Deshalb sollten Sie nicht die zweite Meldung. val1 den gleichen Wert wie vor der Auswahl hat - d. h null, wenn Sie nicht vorher einen Wert zugewiesen haben

Die Tatsache, dass man Sie nicht wissen, die NO_DATA_FOUND Ausnahme bekam schlägt vor, dass Sie ein Entwickler jemals machen den größten Fehler PL / SQL gemacht haben:

EXCEPTION
    -- Never do this in real code!!!
   WHEN OTHERS THEN NULL;
END;

Andere Tipps

Hast du Fehler entdeckt? Wenn die Tabelle keine Zeilen drin. Sie könnten NO_DATA_FOUND Ausnahme erhalten.

Durch die Art und Weise, wo Sie Ihren gesamten Code ist?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top