我是新來的PL/SQL ...在Varray我怎麼能從IN參數獲得多個值..... else有沒有另外的方法來獲得值...我們怎樣才能得到VARRAY從IN參數的過程
我想interate通過VARRAY值...如果任何其他選項,然後它很好.. 編碼:
CREATE OR REPLACE
PROCEDURE dynamic_query_build(
vr_plan_sku_id IN VARCHAR2)
IS
type plan_sku_id_array IS VARRAY(999) OF VARCHAR2(5000);
plan_sku_id plan_sku_id_array;
total INTEGER;
vrx_plan_sku_id VARCHAR2(3000);
BEGIN
vrx_plan_sku_id:= REPLACE(vr_plan_sku_id,',',chr(39)||','||chr(39));
plan_sku_id := plan_sku_id_array(chr(39)||vrx_plan_sku_id||chr(39));
total := plan_sku_id.count;
FOR i IN 1 .. total
LOOP
dbms_output.put_line(plan_sku_id(i));
END LOOP;
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END dynamic_query_build;
執行:
set serveroutput on;
declare
vr_plan_sku_id varchar2(200) := '5863314,5863315';
BEGIN
dynamic_query_build(vr_plan_sku_id);
END;
/
我的輸出:
anonymous block completed
'5863314','5863315'
預期輸出:
5863314
5863315
現在它正在考慮爲單獨的值....
非常感謝!它的工作沒有任何問題刺激。 – spyga