import java.io.*;
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.driver.*;
public class ArrayDemo
{
public static void main(String[] args) throws SQLException {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@210.102.97.18:1521:v880","ihjdbmgr", "ihjdbmgr01");
// Object objArray1[][] = {{"Ha"},{"Kweon"},{"Park"}};
Object objArray1[] = {"Ha1","12345678901231"};
Object objArray2[] = {"Ha2","12345678901232"};
Object objArray3[] = {"Ha3","12345678901233"};
Object objArray[] = new Object[3];
StructDescriptor desc1 = StructDescriptor.createDescriptor("STUD_BUFFER",conn);
ArrayDescriptor desc2 = ArrayDescriptor.createDescriptor( "STUD_ARRAY", conn);
STRUCT pstruct = null;
pstruct = new STRUCT(desc1, conn, objArray1);
objArray[0] = pstruct;
pstruct = new STRUCT(desc1, conn, objArray2);
objArray[1] = pstruct;
pstruct = new STRUCT(desc1, conn, objArray3);
objArray[2] = pstruct;
ARRAY array_to_pass = new ARRAY( desc2, conn, objArray );
/*
int i = 0;
for (i=0;i < 3 ;i++ )
{
System.out.println(i+" : "+array_to_pass[i].toString());
}
*/
System.out.println(array_to_pass.getOracleArray());
OraclePreparedStatement ps =
(OraclePreparedStatement)conn.prepareStatement
( "begin batchUpdate(:x,:x2,:x3); end;" );
ps.setARRAY( 1, array_to_pass ); // 처리될 배열
ps.setInt( 2, 3); // 처리될 개수
ps.setString( 3, "2003"); // 학년도
ps.execute();
}
}
/*
drop type STUD_BUFFER;
drop type STUD_ARRAY
-- update용 type선언
create or replace type STUD_BUFFER as object(sorted_rank varchar2(30), gupsu_no varchar2(10));
-- 실행
create or replace type STUD_ARRAY as table of STUD_BUFFER;
procedure give_me_an_array( p_array in num_array, p_count in number )
as
begin
for i in 1 .. p_count
loop
dbms_output.put_line(p_array(i).name);
insert into emp2(name) values (p_array(i).name);
commit;
end loop;
end;
*/
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.driver.*;
public class ArrayDemo
{
public static void main(String[] args) throws SQLException {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@210.102.97.18:1521:v880","ihjdbmgr", "ihjdbmgr01");
// Object objArray1[][] = {{"Ha"},{"Kweon"},{"Park"}};
Object objArray1[] = {"Ha1","12345678901231"};
Object objArray2[] = {"Ha2","12345678901232"};
Object objArray3[] = {"Ha3","12345678901233"};
Object objArray[] = new Object[3];
StructDescriptor desc1 = StructDescriptor.createDescriptor("STUD_BUFFER",conn);
ArrayDescriptor desc2 = ArrayDescriptor.createDescriptor( "STUD_ARRAY", conn);
STRUCT pstruct = null;
pstruct = new STRUCT(desc1, conn, objArray1);
objArray[0] = pstruct;
pstruct = new STRUCT(desc1, conn, objArray2);
objArray[1] = pstruct;
pstruct = new STRUCT(desc1, conn, objArray3);
objArray[2] = pstruct;
ARRAY array_to_pass = new ARRAY( desc2, conn, objArray );
/*
int i = 0;
for (i=0;i < 3 ;i++ )
{
System.out.println(i+" : "+array_to_pass[i].toString());
}
*/
System.out.println(array_to_pass.getOracleArray());
OraclePreparedStatement ps =
(OraclePreparedStatement)conn.prepareStatement
( "begin batchUpdate(:x,:x2,:x3); end;" );
ps.setARRAY( 1, array_to_pass ); // 처리될 배열
ps.setInt( 2, 3); // 처리될 개수
ps.setString( 3, "2003"); // 학년도
ps.execute();
}
}
/*
drop type STUD_BUFFER;
drop type STUD_ARRAY
-- update용 type선언
create or replace type STUD_BUFFER as object(sorted_rank varchar2(30), gupsu_no varchar2(10));
-- 실행
create or replace type STUD_ARRAY as table of STUD_BUFFER;
procedure give_me_an_array( p_array in num_array, p_count in number )
as
begin
for i in 1 .. p_count
loop
dbms_output.put_line(p_array(i).name);
insert into emp2(name) values (p_array(i).name);
commit;
end loop;
end;
*/
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
86 | sql 문 실행명령 | 원우석 | 2004.07.31 | 3500 |
85 | DB2 종료후 다시 시작 | 원우석 | 2004.07.31 | 2660 |
84 | lock 상태 확인 | 원우석 | 2004.07.31 | 4803 |
83 | sybase DB에서 파일로 백업을 받구 그파일을 다시 DB2로 임포트하는방법 | 원우석 | 2004.07.31 | 3748 |
82 | 임포트시 테이블에 데이터를 모두 클리어 할때 | 원우석 | 2004.07.31 | 2793 |
81 | 특정테이블을 백업받을때 | 원우석 | 2004.07.31 | 3093 |
80 | DB를 백업받을때 | 원우석 | 2004.07.31 | 2811 |
79 | 카탈로그 파일 내용보기 | 원우석 | 2004.07.31 | 2988 |
78 | 데이타 모델링(이화식 강의) 부분 목차정리. | 박상현 | 2004.06.22 | 3124 |
77 | oracle 8i제공 explan table 생성 script | 박상현 | 2004.05.08 | 2493 |
76 | toad에서 사용가능한 explan_table생성 script | 박상현 | 2004.05.08 | 6381 |
75 | 오라클 DUAL Table처럼 DB2에서 임시 테이블 사용하기 | 원우석 | 2004.01.08 | 4213 |
74 | ORACLE -> MSSQL 시 LPAD 처리 | 운영자 | 2003.10.08 | 4050 |
73 | Unix, Oracle, Pro*C작성 입찰공고 | 운영자 | 2003.06.05 | 4354 |
72 | Unix, Oracle, Pro*C작성 구인구직게시판 | 운영자 | 2003.06.05 | 4729 |
71 | Unix, Oracle, Pro*C작성 자유게시판 | 운영자 | 2003.06.05 | 4595 |
70 | plan table(sql실행계획) 보는 select문 | 운영자 | 2003.01.28 | 3831 |
» | java에서 array처리 방법 | 운영자 | 2003.01.27 | 6033 |
68 | 효율적인 25가지 SQL작성법 | 운영자 | 2003.01.04 | 2911 |
67 | 중복 data는 처음에만 display 하게 하는 방법 | 운영자 | 2002.11.23 | 2852 |