NO_DATA_FOUND, SELECT COUNT(*) IN var und var IST NULL Aufklärung über Trigger

Ich habe gelesen, dass ein SELECT dass doens nicht ermittelt werden keine Daten generiert NO_DATA_FOUND.

Aber für meine Erfahrung ist dies nicht wahr, denn ich habe eine:

SELECT COUNT(*) INTO mylocalvar FROM tbl;

Auf einen leeren Tisch und es hat nicht starten NO_DATA_FOUND-Ausnahme aus.

Stattdessen fand ich heraus, dass mylocalvar war NULL.

Ich excpeted es = 0 aber es war NULL.

Also im Grunde, wenn ich brauche, um zu überprüfen, ob das count(*) ist = 0 ich:

IF mylocalvar IS NULL THEN
  --do stuff 

Ist das richtig? Auch der Grund, warum in diesem Fall NO_DATA_FOUND nicht anwenden?

Kann ich zuordnen mylocalvar dem Wert 0 als default? Vielleicht in der declare:

DECLARE
   mylocalvar NUMBER := 0;

So kann ich nur tun IF mylocalvar = 0 THEN ?

Dank

InformationsquelleAutor | 2011-06-21
Schreibe einen Kommentar