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_name
il 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 INTO
per selezionare il valore dalla colonna del nome e assegnarlo al_customer_name
variabile. - Terzo, mostra il nome del cliente utilizzando la
dbms_output.put_line
procedura.
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
customers
tavolo. Questo record conterrà lintera riga della tabellacustomers
. - Secondo, seleziona il cliente il cui ID è 100 nella
r_customer
record. - 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_name
per conservare il nome del cliente e del contatto. - In secondo luogo, utilizza listruzione
SELECT INTO
per recuperare i nomi dei clienti e dei contatti dellID cliente 100 dacustomers
econtacts
tabelle 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