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 table customers.
  • 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 de customers et contacts 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *