Si vous souhaitez le faire dans SQL*Plus sans utiliser PL/SQL, vous pouvez utiliser variables de substitution :
column studentname new_value l_studentname
select studentname from sometable where somecondition = 1;
column teachername new_value l_teachername
select teachername from sometable2 where somecondition >2;
select '&l_studentname', '&l_teachername,' other columns
from sometable where somecondition;
La new_value
clause
dans la column
La directive attribue automatiquement la valeur de toute sélection suivante à une variable locale, que j'ai précédée de l_
mais vous pouvez appeler n'importe quoi. Vous référencez ensuite cette variable locale dans les requêtes futures avec le &
syntaxe de substitution de variable.
Vous pouvez les utiliser à peu près partout où vous auriez normalement une valeur. par exemple. dans le where
clause. Notez que les valeurs de texte doivent être placées entre guillemets, d'où '&l_studentname'
; sans les guillemets, la valeur serait interprété comme un nom de colonne dans ce cas, ce qui ne fonctionnerait pas.