database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 2110 게시물 읽기
No. 2110
반복적으로 자료를 대량으로 입력하고싶습니다.
작성자
초보딩
작성일
2005-01-19 13:48
조회수
7,384

대량자료입력시 오라클이나 MSSQL에서는 declare문을 사용해서 편하게 작업했던거 같던데 인포믹스에서는 도데체 먼지를 모르겠습니다.
테이블은
caeate table test (
col serial,
col1 varchar(10),
col2 varchar(10)
); 이렇게 만들었습니다.

insert into test(col1,col2) values('hellow','헬로우');
입력문도 이렇게 작업했습니다.
위의 insert문을 100번 반복적으로 사용해서 입력하고싶습니다.
부탁드리겠습니다.
그럼 감사합니다.

이 글에 대한 댓글이 총 1건 있습니다.

declare는 커서를 사용하기 위한 명령이고 대부분의 DBMS에서 지원하고 있는 표준 기능입니다.

질문하신 내용에서 값은 변수로 입력받아 사용할 것으로 가정하고 insert 커서를 ESQL/C로 구현하는 예를 들면:

/* 호스트 변수 선언 */

EXEC SQL begin declare section;

    char hvar1[20];

    char hvar2[20]

EXEC SQL end declare section;

 

EXEC SQL prepare ins_stmt from "insert into test(col1,col2) values(?,?)";

EXEC SQL declare ins_cur cursor for ins_stmt;

EXEC SQL open ins_cur

for(i=1;i<=100;i++)

{

    호스트 변수1,변수2에 값을 할당;

    EXEC SQL put ins_cur from :hvar1, :hvar2;

}

EXEC SQL flush ins_cur;

EXEC SQL close ins_cur;

EXEC SQL free ins_cur;

 

이상과 같이 사용할 수 있습니다.

또는 단순 insert이므로 커서 방식을 사용하지 않고 prepare해서 바로 execute하는 방법이 있습니다.

EXEC SQL prepare ins_stmt from "insert into test(col1,col2) values(?,?)";

for(i=1;i<=100;i++)

{

    호스트 변수1,변수2에 값을 할당;

    EXEC SQL execute ins_cur using :hvar1, :hvar2;

}

 

오정섭(늦살이)님이 2005-01-19 22:17에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
2114informix에서 rownum을 이용하려면 어떻게 해야 하나요? [1]
송찬의
2005-01-26
10009
2113rowid 효율성 [1]
정건호
2005-01-25
7459
2111사용자들의 Transaction log를 기록한 파일 [1]
궁굼한 사람
2005-01-19
8027
2110반복적으로 자료를 대량으로 입력하고싶습니다. [1]
초보딩
2005-01-19
7384
2109인포믹스 에러 해결방법 ... [2]
조대연
2005-01-17
7190
2107[질문] infromix에서 프로시져 생성,수정 실행을 어떻게 하나요? [1]
궁금한이
2005-01-13
6537
2106oninit -i가 안된 DBS로 oninit하는 방법? [3]
편미영
2005-01-11
7087
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다