PL / SQL SELECT INTO (Français)
Résumé: dans ce tutoriel, vous apprendrez à utiliser le PL / SQL SELECT INTO
pour extraire les données dune seule ligne dune table en variables.
Linstruction PL / SQL SELECT INTO
est le moyen le plus simple et le plus rapide de récupérer une seule ligne dune table en variables. Ce qui suit illustre la syntaxe de linstruction PL / SQL SELECT INTO
:
Dans cette syntaxe, le nombre de les colonnes de variable_list
doivent être identiques au nombre de variables (ou au nombre de composants dun enregistrement) dans select_list
. De plus, leur type de données correspondant doit être compatible.
Outre la clause WHERE
, vous pouvez utiliser dautres clauses dans la SELECT
instruction telle que INNER JOIN
, GROUP BY
, HAVING
et UNION
.
Si linstruction SELECT
renvoie plus dune ligne, Oracle augmentera la TOO_MANY_ROWS
exception. Si linstruction SELECT
ne renvoie aucune ligne, Oracle lèvera lexception NO_DATA_FOUND
.
PL / SQL SELECT EN exemples
Utilisons les tables customers
et contacts
dans la base de données exemple à des fins de démonstration.
A) PL / SQL SELECT INTO – sélection dun exemple de colonne
Lexemple suivant utilise une instruction SELECT INTO
pour obtenir le nom dun client en fonction de lID client, qui est la clé primaire de customers
table.
Dans cet exemple:
- Commencez par déclarer une variable
l_customer_name
dont le type de données ancres aux colonnes de nom de la table clients. Cette variable contiendra le nom du client. - Deuxièmement, utilisez linstruction
SELECT INTO
pour sélectionner une valeur dans la colonne de nom et lattribuer àl_customer_name
variable. - Troisièmement, affichez le nom du client à laide de la procédure
dbms_output.put_line
.
Parce que le La table customers
ne comporte quune seule ligne avec lID client 100, le bloc de code affiche le nom du client.
Si il ny avait pas de telle ligne, le bloc de code échouait avec une exception NO_DATA_FOUND
non gérée.
B) PL / SQL SELECT INTO – sélection dun exemple de ligne complet
Lexemple suivant extrait la ligne entière de la table customers
pour un ID client spécifique:
Voici le résultat:
Dans cet exemple:
- Commencez par déclarer un enregistrement basé sur la ligne du
customers
table. Cet enregistrement contiendra la ligne entière de la tablecustomers
. - Ensuite, sélectionnez le client dont lID est 100 dans le
r_customer
record. - Troisièmement, afficher le nom et le site Web du client.
C) PL / SQL SELECT INTO – Exemple de sélection de données dans plusieurs variables
Lexemple suivant récupère les noms des clients et des contacts dans les tables customers
et contacts
pour un identifiant client spécifique.
Oracle a publié la sortie suivante:
Dans cet exemple:
- Commencez par déclarer trois variables
l_customer_name
,l_contact_first_name
,l_contact_last_name
pour contenir le nom du client et du contact. - Deuxièmement, utilisez linstruction
SELECT INTO
pour récupérer les noms de client et de contact de lID client 100 à partir decustomers
etcontacts
tables dans les variables correspondantes -
l_customer_name
,l_contact_first_name
,l_contact_last_name
. - Troisièmement, affichez le noms de clients et de contacts.
PL / SQL SELECT INTO common errors
Si le nombre de colonnes et dexpression dans le SELECT
est supérieur au nombre de variables de la clause INTO
, Oracle émet cette erreur:
Oracle émet lerreur suivante si le nombre de colonnes et dexpression dans la clause SELECT
est inférieur au nombre de variables dans la clause INTO
:
Si le nombre de variables et délément dans la liste de sélection est le même, mais que leurs types de données correspondants ne sont pas compatibles, de sorte quOracle ne peut pas convertir implicitement dun type en Lautre. Il émettra lerreur suivante:
Maintenant, vous devriez savoir comment utiliser le PL / SQL SELECT INTO
instruction pour extraire une seule ligne dune table en variables.
- Ce didacticiel vous a-t-il été utile?
- Oui Non