저는 PL/SQL을 처음 사용합니다 ... Varray에서 IN 매개 변수로부터 여러 값을 얻는 방법 ..... 다른 방법은 있습니까? 다른 옵션은 다음의 미세 .. 코딩 경우 값은 ... 어떻게 VARRAY의 값을 IN 매개 변수에서 얻을 수 있습니까?
나는 ... VARRAY를 통해 값을 interate 할 :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