我在一個小菜一碟。我有一個接受參數並返回查詢結果的存儲過程。該查詢使用IN語句。將一個數組作爲參數傳遞到Oracle存儲過程
這裏是SP的結構:
CREATE OR REPLACE
PROCEDURE EXAMPLE_SP
(
arg VARCHAR2,
argRS1 OUT cursors.rs
)
AS
l_test VARCHAR2(255) := arg;
BEGIN
OPEN argRS1 FOR
SELECT * FROM TABLE1
WHERE LOCATION IN (l_test);
END EXAMPLE_SP;
值的報表中的數字是可變的。 IN的選項來自UI側的選定表單複選框。
我使用PHP來檢索選定的複選框值。我已經嘗試將值內嵌入逗號分隔的字符串中。
我該邏輯是,查詢會再看看這樣的:
l_test = 'val1, val2, val3';
SELECT * FROM TABLE1
WHERE LOCATION IN (val1, val2, val3);
但沒有奏效。我不知道如何繼續。預先感謝任何建設性意見或建議。