我需要在select語句中使用變量,但我不知道我做錯了什麼。在Oracle SQL查詢中使用變量
如果我運行測試腳本波紋管,它的正常工作:
DECLARE
SalesOrderId VARCHAR(10);
BEGIN
SalesOrderId := '138296584';
dbms_output.put_line(SalesOrderId);
END;
但是,如果我把一個選擇查詢內開始末端塊,不工作。下面的代碼:
DECLARE
SalesOrderId VARCHAR(10);
BEGIN
SalesOrderId := '138296584';
dbms_output.put_line(SalesOrderId);
SELECT * FROM tblOrders tbl WHERE tbl.SalesOrderId = SalesOrderId;
END;
,並拋出錯誤:
[Error] Execution (8: 5): ORA-06550: line 8, column 5: PLS-00428: an INTO clause is expected in this SELECT statement
我做錯了什麼?
謝謝。
一位不願具名的PL/SQL塊不能返回表數據。你可以編寫一個執行此操作的PL/SQL函數(一個流水線函數),或者讓你的數據塊在控制檯上輸出數據(DBMS_OUTPUT),或者使用帶綁定變量的SQL('WHERE tbl.SalesOrderId =:SalesOrderId;')。 –