1
我有一個需要表類型輸入參數的過程。現在我必須在SELECT查詢的IN子句中使用此參數。在PLSQL過程中使用IN子句中的表類型
CREATE TYPE ids IS TABLE OF NUMBER;
CREATE PROCEDURE (emp_ids IN ids) IS
CURSOR IS (SELECT * FROM EMPLOYEES WHERE EMP_ID IN (SELECT * FROM TABLE(emp_ids)); .....
但是我發現這段代碼不會工作,因爲本地集合類型不能在SQL語句中使用。
是否有任何替代方法來實現在SELECT語句中使用表類型參數?
感謝您的快速響應。但是當我在包中聲明集合對象並在SELECT查詢中使用它時,我遇到'本地集合類型不能在SQL語句中使用'的錯誤。有沒有其他的方式來使用它在包級別? –
@AbdulMubeen不幸的是,你不能,並且消息指出它非常清楚,在sql語句中使用pl/sql類型(無論該類型是在存儲過程還是包體中聲明)。所以你的選擇是創建一個sql類型。 –