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

FireBird Q&A
[2800] Re:Insert 명령을 여러줄 사용시 Error 발생이유를 알고 싶습니다
까막.윤창희 [ggamagui] 3387 읽음    2008-04-22 11:35
KSAPRK 님이 쓰신 글 :
: 안녕하십니까..
:
: Zeos및 파이어 버드로 DB Program 을 짜고 있는데 Insert 명령을 2줄을 넣으면
: Error가 발생 합니다
:
: Insert 명령을 1줄을 사용하면 괜찮음
: 여러줄 입력을 할수 없는것인가요?
:
: 그리고 ZeosComponet인 ZConnection의 속성중 TransactIsolationLevel 의 값들이 어떻게 동작하는지
: 알려 주시면 감사하겠습니다.
: (tiNone,   tiReadCommitted,   tiReadUncommitted,   tiRepeatableRead,  tiSerializable)
:   -> 보통 Db Program을 짜면 어떤 속성을 주고 사용하는게 좋은지요?
:
: //////////////////////////////////
: Error 남
: /////////////////////////////////
:
: ZConnection1.StartTransaction;
:   ZQuery1.Close;
:   ZQuery1.SQL.Clear;
:   ZQuery1.SQL.Add('INSERT INTO History_Eeprom (BAR_CODE, COPY_DATE) VALUES(:No, CURRENT_TIMESTAMP) ');
:  ZQuery1.SQL.Add('INSERT INTO History_Eeprom (BAR_CODE, COPY_DATE) VALUES(:No2, CURRENT_TIMESTAMP) ');
:
:   ZQuery1.ParamByName('No').AsString := edNo.Text;
:  ZQuery1.ParamByName('No2').AsString := edNo2.Text;
:   try
:     ZQuery1.ExecSQL;
:     ZConnection1.Commit;
:   except
:     ZConnection1.Rollback;
:   end;
:
:
: //////////////////////////////////
: 2번 입력하면 괜찮음
: ////////////////////////////////
:
: ZConnection1.StartTransaction;
:   ZQuery1.Close;
:   ZQuery1.SQL.Clear;
:   ZQuery1.SQL.Add('INSERT INTO History_Eeprom (BAR_CODE, COPY_DATE) VALUES(:No, CURRENT_TIMESTAMP) ');
:
:   ZQuery1.ParamByName('No').AsString := edNo.Text;
:   try
:     ZQuery1.ExecSQL;
:     ZConnection1.Commit;
:   except
:     ZConnection1.Rollback;
:   end;
:
: ZConnection1.StartTransaction;
:   ZQuery1.Close;
:   ZQuery1.SQL.Clear;
:  ZQuery1.SQL.Add('INSERT INTO History_Eeprom (BAR_CODE, COPY_DATE) VALUES(:No2, CURRENT_TIMESTAMP) ');
:
:  ZQuery1.ParamByName('No2').AsString := edNo2.Text;
:   try
:     ZQuery1.ExecSQL;
:     ZConnection1.Commit;
:   except
:     ZConnection1.Rollback;
:   end;

안녕하세요. 까막입니다.

IBExpert 에서 실험을 해보세요.
SQL Editor 창에서 Insert 구문을 두개를 작성하셔서 실행하시면 오류 납니다.
Script Executive 에서 마찬가지로 하시면 될겁니다.

Oracle 이나 Firebird 에서는 한번에 하나씩만.
SQL Server 에서는 여러개를 한번에 실행 가능합니다.

Script 를 사용하시던가...
for 루프를 돌면서 순차적으로 실행하시면 됩니다.

그리고, 위에서 Insert 문구 자체는 똑같고 인수값만 다르잖아요.
그러니 Insert 문구는 한번만 만드시고, 인수값만 다시 넣으시면 됩니다. -> for 루프를 사용하실때.



위대한 단군혼이 살아있는 나라.... 대한민국.

+ -

관련 글 리스트
2797 Insert 명령을 여러줄 사용시 Error 발생이유를 알고 싶습니다 KSAPRK 2560 2008/04/19
2800     Re:Insert 명령을 여러줄 사용시 Error 발생이유를 알고 싶습니다 까막.윤창희 3387 2008/04/22
2798     Re:Insert 명령을 여러줄 사용시 Error 발생이유를 알고 싶습니다 푸른솔 2497 2008/04/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.