김태환 님이 쓰신 글 :
: 인터베이스에서 아래와 같은 트리거를 IBConsole이 아닌 동적으로 SQL문으로 생성할 수는 없는지요. 모자라는 사람 지도해 주시는 셈치고 예문이라도 하나 적어주신다면 백골난망하겠습니다.
:
:
: SET TERM;
: CREATE TRIGGER INC_CD FOR ACNTBOOK ACTIVE BEFORE INSERT POSITION 0
: AS
: DECLARE VARIABLE MAX_NUM INTEGER;
: BEGIN
: SELECT MAX(CD) FROM AcntBook
: INTO :MAX_NUM;
: IF (MAX_NUM IS NULL) THEN MAX_NUM=1;
: ELSE MAX_NUM=MAX_NUM+1;
: NEW.CD=MAX_NUM;
: END
:
쿼리의 SQL에 SQL문 적으시고
CREATE TRIGGER INC_CD FOR ACNTBOOK ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE MAX_NUM INTEGER;
BEGIN
SELECT MAX(CD) FROM AcntBook
INTO :MAX_NUM;
IF (MAX_NUM IS NULL) THEN MAX_NUM=1;
ELSE MAX_NUM=MAX_NUM+1;
NEW.CD=MAX_NUM;
END;
ExecSQL로 하심 되네여...
트랜잭션 걸어서 커밋 롤백추가하심 되구여...
Test: Delphi6.0 + Interbase6.01 +dbExpress(SQLConnection, SQLQuery)
|