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 a l_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 tabella customers.
  • 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 da customers e contacts 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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *