C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[50319] Re:Re:오라클 Upate 문 사용 시
류호열 [] 1773 읽음    2007-08-20 09:26
답변 감사합니다.. 우선 그렇게 처리해서 쓰고 있긴 합니다만..

---------------------------------------------------------------------------
:     query->Close();
:     query->SQL->Clear();
:     query->SQL->Add("Update SHAPE set ORIGIN_X=100 where id='M003'");
:     query->SQL->Add("Update SHAPE set ORIGIN_X=0 where id='M001'");
:     query->ExecSQL();
---------------------------------------------------------------------------

이 경우는 왜 에러가 나는 걸까요? MS-SQL 서버의 경우 문제없이 작동하는 코드인데..

즉 여러 Update문을 한 번에 실행하는 것이 가능할 것으로 생각되는데요..

왜 오라클 서버에서는 "Key Violation ORA-00933 SQL Command not properly ended"에러가 발생할까요

답변 부탁드려요~~~~








장성호 님이 쓰신 글 :
: 두개의 Query 문이 동시에 안되나보네요
:
:      query->Close();
:      query->SQL->Clear();
:      query->SQL->Add("Update SHAPE set ORIGIN_X=100 where id='M003'");
:      query->ExecSQL();
:      query->SQL->Clear();                                                                                 //==> 요기 한줄 추가하세요
:      query->SQL->Add("Update SHAPE set ORIGIN_X=0 where id='M001'");
:      query->ExecSQL();
:
: query->ExecSQL()  한뒤에도 query->SQL에는  이전에 sql문이 남아있는가 봅니다.
: clear해주고 다시 새로운 sql문을 add한후에 ExecSQL()하시면 되것 같네요
:
: 그럼....
:
:
:
: 류호열 님이 쓰신 글 :
: : 안녕하세요.. 도저히 모르겠습니다. 도와주세요..
: :
: : C Builder 5 사용하고 있구요.. ODBC로 Oracle 연결해서 구현하고 있습니다
: :
: : 그런데 Update문을 여러 개 TQuery에 추가하고 한 번에 실행하려고 하면 두 번째 Update 문부터 항상
: :
: : Key Violation ORA-00933 SQL Command not properly ended
: :
: : 에러가 발생합니다..
: :
: : 코드는 다음과 같습니다.
: : -----------------------------------------------------------------------------------------
: :
: :     query->Close();
: :     query->SQL->Clear();
: :     query->SQL->Add("Update SHAPE set ORIGIN_X=100 where id='M003'");
: :     query->SQL->Add("Update SHAPE set ORIGIN_X=0 where id='M001'");
: :     query->ExecSQL();
: :
: : -----------------------------------------------------------------------------------------
: :
: :
: :
: : 다음과 같이 실행하면 첫 Update 문은 실행되고 두 번째 Update문에서 같은 에러가 발생합니다.
: : -----------------------------------------------------------------------------------------
: :
: :     query->Close();
: :     query->SQL->Clear();
: :     query->SQL->Add("Update SHAPE set ORIGIN_X=100 where id='M003'");
: :     query->ExecSQL();
: :     query->SQL->Add("Update SHAPE set ORIGIN_X=0 where id='M001'");
: :     query->ExecSQL();
: :
: : -----------------------------------------------------------------------------------------
: :
: : 무더운 날씨지만 즐거운 하루 보내시구요..
: :
: : 답 부탁드리겠습니다~

+ -

관련 글 리스트
50293 오라클 Upate 문 사용 시 "Key Violation ORA-00933 SQL Command not properly ended" 에러 류호열 3033 2007/08/16
50310     Re:오라클 Upate 문 사용 시 장성호 1635 2007/08/17
50319         Re:Re:오라클 Upate 문 사용 시 류호열 1773 2007/08/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.