pl sql% NOTFOUND

8

Ich frage mich nur, warum dieses Stück Code nicht funktioniert. Ich habe keine Lieferanten-ID = 1 in meiner Tabelle.

%Vor%     
user1050619 25.10.2012, 19:09
quelle

2 Antworten

13

Um die Ausnahme NO_DATA_FOUND zu fangen, schreiben Sie Ihren Code wie folgt neu, indem Sie exception section:

hinzufügen %Vor%

Das Überprüfen von SQL%FOUND oder SQL%NOTFOUND hat keine Bedeutung im Fall von select into statement, denn wenn die select-Anweisung keine Zeilen zurückgibt, wird immer no_data_found exception ausgelöst, außer wenn diese select-Anweisung eine Aggregatfunktion aufruft, Es wird immer Daten oder null zurückgegeben, wenn keine Zeilen ausgewählt wurden.

Verwenden Sie nicht den varchar -Datentyp, sondern den varchar2 -Datentyp.

    
Nick Krasnov 25.10.2012, 19:19
quelle
2

Nicholas's Antwort ist was du willst, wenn du SELECT INTO benutzen willst. Wenn es jedoch wichtiger ist, dass Sie %FOUND oder %NOTFOUND verwenden können, berücksichtigen Sie stattdessen FETCH ing von einem Cursor:

%Vor%     
Aurifier 18.09.2015 19:32
quelle

Tags und Links