TIL(D+14). Oracle PL/SQL에서 배열 인자값 사용하기

1. 먼저 오라클에서 사용자 변수타입을 배열로 생성합니다.

create or replace type STRING_ARRAY as table of varchar2(100);

2. 이 타입을 사용해 저장 프로시져를 만듭니다.

create or replace procedure pro_array_test(

     p_array in string_array

)

as

begin

      for i in 1 .. p_array.count loop

          insert into test values (p_array(i));

      end loop;

end;

3. Java 코드에서 저장프로시져를 호출합니다.

String[] idList = new String[10000];

for(int cnt=0; cnt < idList.length; cnt++)

{

        idList[cnt] = new String("sokum"+cnt);

}

ArrayDescriptor descriptor = ArrayDescriptor.createDescriptor("STRING_ARRAY", conn);

ARRAY array_to_pass = new ARRAY(descriptor, conn, idList);

  

cstmt =  conn.prepareCall("{call PRC_ARRAY_TEST(?)}");

cstmt.setArray(1, array_to_pass );  

cstmt.executeQuery();

댓글을 작성해보세요.

채널톡 아이콘