Om du vill göra detta i SQL*Plus utan att använda PL/SQL kan du använda ersättningsvariabler :
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;
new_value
klausul
i column
direktivet tilldelar automatiskt värdet från alla följande val till en lokal variabel, som jag har lagt till l_
men du kan ringa vad som helst. Du refererar sedan till den lokala variabeln i framtida frågor med &
variabel ersättningssyntax.
Du kan använda dem i stort sett var som helst där du normalt skulle ha ett värde. t.ex. i where
klausul. Observera att textvärden måste omges av citattecken, därav '&l_studentname'
; utan citattecken värdet skulle tolkas som ett kolumnnamn i det här fallet, vilket inte skulle fungera.