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
운영게시판
최근게시물
DB2 Q&A 1763 게시물 읽기
No. 1763
DB2 embedded sql에 대해 문의드립니다
작성자
모래비
작성일
2008-12-05 15:12
조회수
11,134


테이블 스키마는 다음과 같습니다.



테이블 이름: accounts


num integer generated by default as identity not null,

branchnum integer,

balance integer,

primary key(num)




데이타 50만개 집어 넣었구요 그 후,



EXEC SQL UPDATE accounts set balance = balance * 2;



이렇게 하면 우선 sqc precompile 할때 where 절이 없다고 warning이 나오지만 에러없이 패키지도 들어가고 실행파일도 만들어집니다.

그런데 실행시에 다음과 같은 에러가 납니다.




SQL0100W  No row was found for FETCH, UPDATE or DELETE; or the result of a query is an empty table.  SQLSTATE=02000


UPDATE query failed!

Expected code = 0

********************  DUMP OF SQLCA  ********************

SQLCAID: SQLCA   �

SQLCABC: 136

SQLCODE: 100

SQLERRML: 0

SQLERRMC:                                                                       SQLRI021

SQLERRP: SQLRI021

SQLERRD[0]: 2147745793

SQLERRD[1]: 1

SQLERRD[2]: 0

SQLERRD[3]: 0

SQLERRD[4]: 0

SQLERRD[5]: 0

SQLWARN:            02000

SQLSTATE: 02000

******************  END OF SQLCA DUMP *******************




그런데 위의 UPDATE 구문에



EXEC SQL UPDATE accounts set balance = balance * 2 where num < 1000;



이런 식으로 where 구문을 추가해주면 실행이 잘 됩니다.

그래서 다음과 같이 꼼수를 부려 보았으나 ㅜㅜ



EXEC SQL UPDATE accounts set balance = balance * 2 where num < 500000;

EXEC SQL UPDATE accounts set balance = balance * 2 where num >= 0;



역시 처음의 경우처럼 에러나면서 쿼리가 실행이 안됩니다.

WHERE 구문 없이 어떤 필드 전체를 update 할 수 없는 건가요?


참고로 db2 shell에서는 에러 안나고 실행 잘 됩니다.


고수님들의 답변을 기다리겠습니다 ㅜㅜ

[Top]
No.
제목
작성자
작성일
조회
1768'FETCH FIRST ~' 구문을 Oracle에서 쓸 수 있게 바꾸려면 어떻게 해야 할까요? [1]
지구여행자
2008-12-12
13110
1766안녕하세요 테이블컬럼 질문입니다 [1]
김한중
2008-12-11
8933
1764db2 에러코드 있으신분 있나요? [2]
김한중
2008-12-09
9579
1763DB2 embedded sql에 대해 문의드립니다
모래비
2008-12-05
11134
1761테이블의 특수문자 포함된 데이타를 못 불러 오네요... [1]
송기원
2008-12-01
10057
1756db2에서 모든테이블 보는 테이블이 어떤거죠? [2]
김한중
2008-11-20
9779
1754db2 프로시져 질문입니다. [1]
원문연
2008-11-17
9587
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다