Jeśli chcesz to zrobić w SQL*Plus bez używania PL/SQL, możesz użyć zmienne podstawienia :
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
klauzula
w column
dyrektywa automatycznie przypisuje wartość z dowolnego następującego wyboru do zmiennej lokalnej, którą poprzedziłem l_
ale możesz zadzwonić cokolwiek. Następnie odwołujesz się do tej zmiennej lokalnej w przyszłych zapytaniach za pomocą &
składnia podstawienia zmiennych.
Możesz ich używać praktycznie wszędzie, gdzie normalnie miałbyś wartość. np. w where
klauzula. Zauważ, że wartości tekstowe muszą być ujęte w cudzysłów, stąd '&l_studentname'
; bez cudzysłowów wartość w tym przypadku zostanie zinterpretowana jako nazwa kolumny, co nie zadziała.