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

FireBird Q&A
[643] 도와주세요. 인터베이스에서 트리거를 생성하려하는데 에러가 납니다.
김태환 [] 1903 읽음    2003-02-12 10:37
인터베이스에서 트리거를 IBConsole이 아닌 동적으로 SQL문으로 생성하려하는데 에러가 납니다. 아래의 두 가지 다 에러가 나는군요.

첫번째 시도
IBSQL.Close; IBSQL.SQL.Clear;
IBSQL.SQL.Add('SET TERM!!;');
IBSQL.SQL.Add('CREATE TRIGGER INC_BCD FOR BSMASTER ACTIVE BEFORE INSERT POSITION 0');
IBSQL.SQL.Add('AS');
IBSQL.SQL.ADD('DECLARE VARIABLE MAX_NUM INTEGER;');
IBSQL.SQL.ADD('BEGIN');
IBSQL.SQL.ADD('SELECT MAX(CD) FROM BSMASTER INTO :MAX_NUM;');
IBSQL.SQL.ADD('IF (MAX_NUM IS NULL) THEN MAX_NUM=1;');
IBSQL.SQL.ADD('NEW.CD=MAX_NUM;');
IBSQL.SQL.Add('END!!');
IBSQL.SQL.Add('SET TERM;!!');
IBSQL.ExecQuery;


두번째 시도
IBSQL.Close; IBSQL.SQL.Clear;
// IBSQL.SQL.Add('SET TERM!!;');
IBSQL.SQL.Add('CREATE TRIGGER INC_BCD FOR BSMASTER ACTIVE BEFORE INSERT POSITION 0');
IBSQL.SQL.Add('AS');
IBSQL.SQL.ADD('DECLARE VARIABLE MAX_NUM INTEGER;');
IBSQL.SQL.ADD('BEGIN');
IBSQL.SQL.ADD('SELECT MAX(CD) FROM BSMASTER INTO :MAX_NUM;');
IBSQL.SQL.ADD('IF (MAX_NUM IS NULL) THEN MAX_NUM=1;');
IBSQL.SQL.ADD('NEW.CD=MAX_NUM;');
IBSQL.SQL.Add('END');            //IBSQL.SQL.Add('END!!');
// IBSQL.SQL.Add('SET TERM;!!');
IBSQL.ExecQuery;

어린아이 가나다라 가르키는셈 치시고 아시는 분께서는 도와주시면 고맙겠습니다.

+ -

관련 글 리스트
643 도와주세요. 인터베이스에서 트리거를 생성하려하는데 에러가 납니다. 김태환 1903 2003/02/12
661     Re:도와주세요. 인터베이스에서 트리거를 생성하려하는데 에러가 납니다. TK 1877 2003/03/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.