PL / SQL SELECT INTO (Deutsch)
Zusammenfassung: In diesem Lernprogramm erfahren Sie, wie Sie PL / SQL verwenden SELECT INTO zum Abrufen von Daten einer einzelnen Zeile aus einer Tabelle in Variablen.
PL / SQL SELECT INTO -Anweisung ist der einfachste und schnellste Weg zum Abrufen einer einzelnen Zeile aus einer Tabelle in Variablen. Das Folgende veranschaulicht die Syntax der PL / SQL-Anweisung SELECT INTO:
In dieser Syntax die Anzahl von Spalten in variable_list müssen mit der Anzahl der Variablen (oder der Anzahl der Komponenten eines Datensatzes) in select_list übereinstimmen. Darüber hinaus muss der entsprechende Datentyp kompatibel sein.
Neben der WHERE -Klausel können Sie andere Klauseln in der SELECT -Anweisung wie INNER JOIN, GROUP BY, HAVING und UNION.
Wenn die Anweisung SELECT mehr als eine Zeile zurückgibt, löst Oracle die TOO_MANY_ROWS Ausnahme. Wenn die Anweisung SELECT keine Zeile zurückgibt, löst Oracle die Ausnahme NO_DATA_FOUND aus.
PL / SQL SELECT INTO-Beispiele
Verwenden wir zur Demonstration die Tabellen customers und contacts in der Beispieldatenbank.
A) PL / SQL SELECT INTO – Auswahl eines Spaltenbeispiels
Im folgenden Beispiel wird eine SELECT INTO -Anweisung verwendet, um den Namen eines Kunden basierend auf der Kunden-ID abzurufen, die der Primärschlüssel der Tabelle.
In diesem Beispiel:
- Deklarieren Sie zunächst eine Variable
l_customer_name, deren Datentyp verankert sich in den Namensspalten der Kundentabelle. Diese Variable enthält den Kundennamen. - Verwenden Sie zweitens die Anweisung
SELECT INTO, um einen Wert aus der Namensspalte auszuwählen und ihn der Variable. - Zeigen Sie drittens den Kundennamen mit der Prozedur
dbms_output.put_linean.
Weil die Die Tabelle customers enthält nur eine Zeile mit der Kunden-ID 100, der Codeblock zeigt den Kundennamen an.
If Wenn es keine solche Zeile gäbe, würde der Codeblock mit einer nicht behandelten NO_DATA_FOUND Ausnahme fehlschlagen.
B) PL / SQL SELECT INTO – Auswahl eines vollständigen Zeilenbeispiels
Im folgenden Beispiel wird die gesamte Zeile aus der Tabelle customers für eine bestimmte Kunden-ID abgerufen:
Hier ist die Ausgabe:
In diesem Beispiel:
- Deklarieren Sie zunächst einen Datensatz basierend auf der Zeile des
customersTabelle. Dieser Datensatz enthält die gesamte Zeile der Tabellecustomers. - Wählen Sie anschließend den Kunden mit der ID 100 in der Datei
r_customerrecord. - Zeigen Sie drittens den Namen und die Website des Kunden an.
C) PL / SQL SELECT INTO – Auswahl von Daten in mehreren Variablen Beispiel
Im folgenden Beispiel werden die Namen von Kunden und Kontakten aus den Tabellen customers und contacts für eine bestimmte Kunden-ID abgerufen.
Oracle hat die folgende Ausgabe ausgegeben:
In diesem Beispiel:
- Deklarieren Sie zunächst drei Variablen
l_customer_name,l_contact_first_name,l_contact_last_name, um den Namen des Kunden und des Kontakts zu speichern. - Verwenden Sie zweitens die Anweisung
SELECT INTO, um Kunden- und Kontaktnamen der Kunden-ID 100 aus dencustomersund Tabellen in die entsprechenden Variablen -
l_customer_name,l_contact_first_name,l_contact_last_name. - Zeigen Sie drittens das an Kunden- und Kontaktnamen.
PL / SQL AUSWÄHLEN IN häufige Fehler
Wenn die Anzahl der Spalten und der Ausdruck in der SELECT -Klausel ist größer als die Anzahl der Variablen in der INTO -Klausel. Oracle gibt diesen Fehler aus:
Oracle gibt den folgenden Fehler aus, wenn die Anzahl der Spalten und Ausdrücke in der SELECT -Klausel geringer ist als die Anzahl der Variablen in der INTO -Klausel:
Wenn die Anzahl der Variablen und Elemente in der Auswahlliste gleich ist, die entsprechenden Datentypen jedoch nicht kompatibel sind, sodass Oracle nicht implizit von einem Typ in konvertieren kann das andere. Der folgende Fehler wird ausgegeben:
Nun sollten Sie wissen, wie Sie PL / SQL SELECT INTO verwenden Anweisung zum Abrufen einer einzelnen Zeile aus einer Tabelle in Variablen.
- War dieses Tutorial hilfreich?
- JaNein