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.