TIL(D+14). Oracle PL/SQL에서 배열 인자값 사용하기
2021.07.14
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();
댓글을 작성해보세요.