SÉLECTIONNER DANS
DECLARE
the_variable NUMBER;
BEGIN
SELECT my_column INTO the_variable FROM my_table;
END;
Assurez-vous que la requête ne renvoie qu'une seule ligne :
Par défaut, une instruction SELECT INTO ne doit renvoyer qu'une seule ligne. Sinon, PL/SQL déclenche l'exception prédéfinie TOO_MANY_ROWS et les valeurs des variables de la clause INTO sont indéfinies. Assurez-vous que votre clause WHERE est suffisamment spécifique pour ne correspondre qu'à une seule ligne
Si aucune ligne n'est renvoyée, PL/SQL lève NO_DATA_FOUND. Vous pouvez vous prémunir contre cette exception en sélectionnant le résultat d'une fonction d'agrégation, telle que COUNT(*) ou AVG(), si possible. Ces fonctions sont garanties de renvoyer une valeur unique, même si aucune ligne ne correspond à la condition.
Une instruction SELECT ... BULK COLLECT INTO peut renvoyer plusieurs lignes. Vous devez configurer des variables de collection pour contenir les résultats. Vous pouvez déclarer des tableaux associatifs ou des tableaux imbriqués qui s'agrandissent au besoin pour contenir l'ensemble des résultats.
Le curseur implicite SQL et ses attributs %NOTFOUND, %FOUND, %ROWCOUNT et %ISOPEN fournissent des informations sur l'exécution d'une instruction SELECT INTO.