Oracle
 sql >> Base de données >  >> RDS >> Oracle

Déclarer une variable temporaire dans Oracle Database

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.