不知道爲什麼你正在使用PL/SQL塊那。您沒有使用您聲明的id
,最好給它起一個與列名不同的名稱以避免混淆。
可以在SQL聲明綁定變量* Plus中,雖然,選擇成:
var l_test_quote varchar2(80); -- or whatever type/size you need
var l_test_id varchar2(80);
declare
l_id varchar2(80) :='test123';
begin
select test_quote, test_id
into :l_test_quote, :l_test_id
from order_link
where id = l_id;
end;
/
print l_test_quote
print l_test_id
注意引用塊外定義的變量前:
,這表明它們是綁定變量。 l_id
在塊內聲明,因此它沒有前面的:
。
在這種情況下也可以定義l_id
塊之外,並且避免PL/SQL同時仍使用該綁定變量:
var l_id varchar2(80);
exec :l_id := 'test123';
select test_quote, test_id
from order_link
where id = :l_id;
由於主查詢不是PL/SQL任何更多(雖然exec
是;這只是一個單行匿名塊的縮寫),所以您不需要select ... into
,因此不需要聲明這些變量。