Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Declarando uma variável temporária no banco de dados Oracle


Se você quiser fazer isso no SQL*Plus sem usar PL/SQL, use variáveis ​​de substituição :
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;

O new_value cláusula na column A diretiva atribui automaticamente o valor de qualquer seleção a seguir a uma variável local, que eu anexei com l_ mas você pode chamar qualquer coisa. Em seguida, você faz referência a essa variável local em consultas futuras com o & sintaxe de substituição de variável.

Você pode usá-los praticamente em qualquer lugar que normalmente teria um valor. por exemplo. no where cláusula. Observe que os valores de texto devem ser colocados entre aspas, portanto, '&l_studentname'; sem as aspas o valor seria interpretado como um nome de coluna nesse caso, o que não funcionaria.