티스토리 뷰

오라클 데이터베이스에서 SYS.ODCIVARCHAR2LIST를 활용하면 문자열의 리스트를 프로시저에 전달하여 처리할 수 있습니다. 이번 포스팅에서는 SYS.ODCIVARCHAR2LIST를 사용하여 프로시저에서 리스트를 입력받고 처리하는 방법에 대해 설명하겠습니다.

 

1. 프로시저에서 리스트로 입력 선언하기

SYS.ODCIVARCHAR2LIST는 문자열 리스트를 다루기 위한 Oracle의 내장 타입입니다. 이를 사용하여 프로시저에서 리스트를 입력받을 수 있습니다.

CREATE OR REPLACE PROCEDURE PROC_TEST(
    p_codes IN SYS.ODCIVARCHAR2LIST
)
IS
BEGIN
    -- 프로시저 로직
END;
  • 이와 같이 p_codes를 SYS.ODCIVARCHAR2LIST 타입으로 선언하면, 문자열의 리스트를 입력으로 받을 수 있습니다.

 

2. 사용 방법

프로시저 내에서 리스트를 사용하여 다양한 작업을 수행할 수 있습니다. 리스트의 각 항목에 접근하려면 TABLE과 COLUMN_VALUE를 사용하여 리스트의 값을 조회할 수 있습니다.

BEGIN
    FOR rec IN (SELECT COLUMN_VALUE AS item_code FROM TABLE(p_codes)) LOOP
        DBMS_OUTPUT.PUT_LINE('Item Code: ' || rec.item_code);
    END LOOP;
END;

 

3. 프로시저 호출

프로시저를 호출할 때 SYS.ODCIVARCHAR2LIST를 생성하여 값을 전달합니다. 다음은 프로시저를 호출하는 예제입니다.

DECLARE
    v_codes SYS.ODCIVARCHAR2LIST;
BEGIN
    v_codes := SYS.ODCIVARCHAR2LIST('123', '456', '789');
    PROC_TEST(p_codes => v_codes);
END;

이 예제에서는 v_codes라는 변수를 SYS.ODCIVARCHAR2LIST 타입으로 선언하고, 여기에 여러 CODE 값을 추가한 후 PROC_TEST 프로시저를 호출하고 있습니다.

이렇게 SYS.ODCIVARCHAR2LIST를 사용하면 문자열 리스트를 효과적으로 처리할 수 있으며, 복잡한 데이터 처리를 간편하게 구현할 수 있습니다.

 

감사합니다.

최근에 올라온 글
Total
Today
Yesterday