不知道你為什麼要使用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是;這隻是一行匿名塊的簡寫),你不需要選擇… into是以你不需要聲明那些變數.