PL / SQL SELECT INTO (Italiano)
Riepilogo: in questo tutorial imparerai come utilizzare PL / SQL SELECT INTO istruzione per recuperare i dati di una singola riga da una tabella in variabili.
Listruzione PL / SQL SELECT INTO è il modo più semplice e veloce per recuperare una singola riga da una tabella in variabili. Quanto segue illustra la sintassi dellistruzione SELECT INTO PL / SQL:
In questa sintassi, il numero di le colonne variable_list devono essere uguali al numero di variabili (o il numero di componenti di un record) in select_list. Inoltre, il tipo di dati corrispondente deve essere compatibile.
Oltre alla clausola WHERE, puoi utilizzare altre clausole nella SELECT istruzione come INNER JOIN, GROUP BY, HAVING e UNION.
Se listruzione SELECT restituisce più di una riga, Oracle solleverà TOO_MANY_ROWS eccezione. Se listruzione SELECT non restituisce alcuna riga, Oracle solleverà leccezione NO_DATA_FOUND.
PL / SQL SELECT NEGLI esempi
Usiamo le tabelle customers e contacts nel database di esempio per la dimostrazione.
A) PL / SQL SELECT INTO – selezione di una colonna di esempio
Il seguente esempio utilizza unistruzione SELECT INTO per ottenere il nome di un cliente in base allID cliente, che è la chiave primaria del customers tabella.
In questo esempio:
- Innanzitutto, dichiara una variabile
l_customer_nameil cui tipo di dati si ancora alle colonne dei nomi della tabella dei clienti. Questa variabile conterrà il nome del cliente. - Secondo, utilizza listruzione
SELECT INTOper selezionare il valore dalla colonna del nome e assegnarlo al_customer_namevariabile. - Terzo, mostra il nome del cliente utilizzando la
dbms_output.put_lineprocedura.
Perché il La tabella customers ha una sola riga con ID cliente 100, il blocco di codice mostrava il nome del cliente.
Se non ci fossero righe di questo tipo, il blocco di codice fallirebbe con uneccezione NO_DATA_FOUND non gestita.
B) PL / SQL SELECT INTO – selezione di un esempio di riga completo
Lesempio seguente recupera lintera riga dalla tabella customers per un ID cliente specifico:
Ecco loutput:
In questo esempio:
- Innanzitutto, dichiara un record basato sulla riga del
customerstavolo. Questo record conterrà lintera riga della tabellacustomers. - Secondo, seleziona il cliente il cui ID è 100 nella
r_customerrecord. - Terzo, mostra il nome del cliente e il sito web.
C) PL / SQL SELECT INTO – esempio di selezione dei dati in più variabili
Il seguente esempio recupera i nomi del cliente e del contatto dalle tabelle customers e contacts per un ID cliente specifico.
Oracle ha emesso il seguente output:
In questo esempio:
- Innanzitutto, dichiara tre variabili
l_customer_name,l_contact_first_name,l_contact_last_nameper conservare il nome del cliente e del contatto. - In secondo luogo, utilizza listruzione
SELECT INTOper recuperare i nomi dei clienti e dei contatti dellID cliente 100 dacustomersecontactstabelle nelle variabili corrispondenti -
l_customer_name,l_contact_first_name,l_contact_last_name. - Terzo, visualizza il nomi di clienti e contatti.
PL / SQL SELEZIONA NEGLI errori comuni
Se il numero di colonne e lespressione in SELECT è maggiore del numero di variabili nella clausola INTO, Oracle genera questo errore:
Oracle genera il seguente errore se il numero di colonne e di espressioni nella clausola SELECT è inferiore al numero di variabili nella clausola INTO:
Se il numero di variabili e di elementi nellelenco di selezione sono gli stessi, ma i loro tipi di dati corrispondenti non sono compatibili, quindi Oracle non può convertire implicitamente da un tipo a laltro. Emetterà il seguente errore:
Ora dovresti sapere come usare PL / SQL SELECT INTO per recuperare una singola riga da una tabella in variabili.
- Questo tutorial è stato utile?
- SìNo