AUSWÄHLEN IN
DECLARE
the_variable NUMBER;
BEGIN
SELECT my_column INTO the_variable FROM my_table;
END;
Stellen Sie sicher, dass die Abfrage nur eine einzige Zeile zurückgibt:
Standardmäßig darf eine SELECT INTO-Anweisung nur eine Zeile zurückgeben. Andernfalls löst PL/SQL die vordefinierte Ausnahme TOO_MANY_ROWS aus und die Werte der Variablen in der INTO-Klausel sind undefiniert. Stellen Sie sicher, dass Ihre WHERE-Klausel spezifisch genug ist, um nur eine Zeile abzugleichen
Wenn keine Zeilen zurückgegeben werden, löst PL/SQL NO_DATA_FOUND aus. Sie können sich vor dieser Ausnahme schützen, indem Sie das Ergebnis einer Aggregatfunktion wie COUNT(*) oder AVG() auswählen, sofern dies praktikabel ist. Diese Funktionen geben garantiert einen einzelnen Wert zurück, auch wenn keine Zeile der Bedingung entspricht.
Eine Anweisung SELECT ... BULK COLLECT INTO kann mehrere Zeilen zurückgeben. Sie müssen Sammlungsvariablen einrichten, um die Ergebnisse zu speichern. Sie können assoziative Arrays oder verschachtelte Tabellen deklarieren, die nach Bedarf wachsen, um die gesamte Ergebnismenge aufzunehmen.
Die implizite Cursor-SQL und ihre Attribute %NOTFOUND, %FOUND, %ROWCOUNT und %ISOPEN liefern Informationen über die Ausführung einer SELECT INTO-Anweisung.