Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Deklarieren einer temporären Variablen in der Oracle-Datenbank

Wenn Sie dies in SQL*Plus tun möchten, ohne PL/SQL zu verwenden, können Sie Substitutionsvariablen :

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;

Der new_value Klausel in der column Direktive weist automatisch den Wert von jedem folgenden select einer lokalen Variablen zu, der ich l_ vorangestellt habe aber du kannst alles anrufen. Sie verweisen dann in zukünftigen Abfragen mit & auf diese lokale Variable Variablenersetzungssyntax.

Sie können sie so ziemlich überall verwenden, wo Sie normalerweise einen Wert haben würden. z.B. im where Klausel. Beachten Sie, dass Textwerte in Anführungszeichen gesetzt werden müssen, daher '&l_studentname'; ohne die Anführungszeichen der Wert würde in diesem Fall als Spaltenname interpretiert, was nicht funktionieren würde.