我在Oracle 11g中編寫了以下內容來分隔IN params(I_PRODUCT)並進行查詢。當我給出一個參數作爲i_PRODUCT時,它正在填充一些結果。當我插入多個逗號分隔參數時,我期望逐個查詢並填充整個結果,並且它不起作用。查詢,用逗號分隔PLSQL中的IN參數
create or replace PROCEDURE RQUERY
(
I_PRODUCT VARCHAR2
, O_Cursor OUT SYS_REFCURSOR
) AS BEGIN
O_Cursor := NULL;
OPEN O_Cursor for
SELECT * FROM Table1 WHERE
Table1.PRODUCT LIKE (select regexp_substr(I_PRODUCT,'[^,]+', 1, level) from dual
connect by regexp_substr(I_PRODUCT, '[^,]+', 1, level) is not null);
END RQUERY ;
我換成'LIKE' IN'不工作。沒有輸出。我有PRODUCT列,值爲「RETAIL」和「LEASE」。我用來查詢的IN參數是''R%,L%'' – SamK
不,它不起作用。在我提供的鏈接中查看我的答案。改變IN列表不會以這種方式工作。此外,您正在使用LIKE使用逗號分隔值進行野外搜索。不起作用。 –
查看更新。 –