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
운영게시판
최근게시물
Oracle Q&A 13650 게시물 읽기
No. 13650
배열 insert 관련 질문 입니다.
작성자
김선훈(seonuny)
작성일
2003-02-26 15:58
조회수
3,005

배열을 한번에 insert 할려구 합니다.

 

MAX_QUERY --> 24

 

EXEC SQL BEGIN DECLARE SECTION;

varchar vPrjNm[MAX_QUERY][PRJ_NM + 1];

int dSendId[MAX_QUERY];

EXEC SQL END DECLARE SECTION;

 

for (i = 0; i < dMaxLoop; i++)

{

 

memset(vPrjNm.arr, ''\0'',sizeof(vPrjNm.arr));

dSendId = 0;

vPrjNm.len = 0;

}

 

strcpy((char *)vPrjNm.arr,(char *)pSbs->vPrjNm);

dSendId= pSbs->dSendId;

 

EXEC SQL INSERT INTO WNT (PRJ_NM,SEND_ID) VALUES(:vPrjNm,:dSendId);

 

이렇게 해서 넣을 라구 하는데요

배열 만큼 값이 들어 가지 않고 10개나 이렇게 들어가면

ORA-01400: cannot insert NULL into ("SCOTT"."WNT...

이런 에러가 납니다.

배열을 다 채우지 않고는 안되는건지 궁금 합니다.

답변좀 부탁 드리겠습니다.

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

부분적인 소스만 갖고는 정확히 알순 없지만

에러메세지로 판단하건데 해당컬럼중

null값이 허용되지 않는컬럼에

null값을 insert하려고 한다는 메세지입니다.

글구 array insert를 for문으로 하시는건가요

exec sql for구문으로 insert 하시는건가요

구현이 가능하다면 arrary insert는 for명령으로 한번에 insert하심이

퍼포먼스가 좋습니다.

http://technet.oracle.com/doc/server.804/a58233/arr.htm#390

에서 Using the FOR Clause 을 참조하세요

kk님이 2003-02-26 18:11에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
13653imp시 INITIAL 확장 영역에대한 에러가 납니다. [1]
영스
2003-02-26
1434
13652error: EXP-00091: Exporting questionable statistics. [1]
오주인
2003-02-26
3185
13651다음 에러 해결좀... [2]
최재완
2003-02-26
2132
13650배열 insert 관련 질문 입니다. [1]
김선훈
2003-02-26
3005
13649스키마만 exp시킬순없나여? [1]
영스
2003-02-26
1132
13648한글정렬....(주).... [3]
ㅡㅡ;
2003-02-26
1450
13647ORA-02019 에러가 납니다. dblink 문제.. [2]
C사랑
2003-02-26
26420
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다