Oracle
 sql >> Database >  >> RDS >> Oracle

Dichiarazione di una variabile temporanea in Oracle Database

Se vuoi farlo in SQL*Plus senza usare PL/SQL, puoi usare Variabili di sostituzione :

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;

Il new_value clausola nella column La direttiva assegna automaticamente il valore da qualsiasi selezione successiva a una variabile locale, che ho anteposto con l_ ma puoi chiamare qualsiasi cosa. Quindi fai riferimento a quella variabile locale nelle query future con & sintassi di sostituzione delle variabili.

Puoi usarli praticamente ovunque tu abbia normalmente un valore. per esempio. nel where clausola. Nota che i valori di testo devono essere racchiusi tra virgolette, quindi '&l_studentname'; senza le virgolette il valore verrebbe interpretato come un nome di colonna in questo caso, il che non funzionerebbe.