DDL은 Commit을 필요로 하지 않습니다.
일단 제거해 보시죠...
아래 Query 문법은 이상이 없네요...
혹시 1.5에서 Having구문을 지원하는지요?
2.0에서는 이상이 없는 것 같습니다. 테스트 해본 바로는
반영재 님이 쓰신 글 :
: ExecSQL로 한후 Commit을 날리면 General SQL error가 나오거든요...ㅠ.ㅜ
: 미치것네요...그렇다고 전부다 BDE로 되어 있는데...이걸 바꿀수도 없구...
: 해결방법이 없을까요?
:
: civilian,안영제 님이 쓰신 글 :
: : Open 이 아니라 ExecSQL로 하셔야 합니다.
: : 그리고 BDE를 쓰는 것은 가장 최악의 방법입니다.
: :
: : 반영재 님이 쓰신 글 :
: : : 현재 제 환경입니다.
: : : Delphi 5.0
: : : BDE사용
: : : Firebird 1.5.2
: : :
: : : if not DataBase1.InTransaction then
: : : DataBase1.StartTransaction;
: : : try
: : : with Query1 do
: : : begin
: : : Close;
: : : UnPrepare;
: : : Sql.Clear;
: : : Sql.Add('Create View View_sms (View_smsid) as ' +
: : : 'Select SmsID From Sms ' +
: : : ' Where SmsCheck = :SmsCheck ' +
: : : ' Group By SmsID ' +
: : : 'Having Count(SmsID) < 10 ');
: : : ParamByName('SmsCheck').AsString := '0';
: : : Open;
: : : DataBase1.Commit;
: : : except
: : : DataBase1.Rollback;
: : : end;
: : :
: : : 이렇게 하면 안되는건가요?
: : : 계속해서 Error creating cursor handle 오류만 나오네요...ㅠ.ㅜ
: : : 볼랜드가 기본적으로 제공한 SQL Explorer툴에선 제대로 돌아 갑니다...
|