예전에 만들어썼던 트리거 구문입니다.
아래 예제를 응용하시면 원하는 결과 얻을 수 있으실것 같습니다.
With IQuery1 do
begin
Close;
Sql.Clear;
Sql.Add('CREATE GENERATOR GE_CA');
ExecSql;
end;
With IQuery1 do
begin
Close;
Sql.Clear;
Sql.Add('CREATE TRIGGER NO_CA_BI0 for CA BEFORE INSERT POSITION 0 as');
Sql.Add('begin');
Sql.Add('NEW.CA_NO = GEN_ID(GE_CA, 1);');
Sql.Add('end');
ExecSql;
end;
김은하 님이 쓰신 글 :
: 데이터 베이스를 처음 써보는 왕초보인데요...
:
: 테이블을
:
: Create table Member(
: mbnum int not null,
: mbname char(20) not null,
: mbresi char(20) not null,
: mbhand char(20) not null,
: mbphone char(20) not null,
: mbadd varchar(50) not null,
: mbdate char(10) not null,
: mbmemo varchar(50),
: mbpoint int,
:
: Primary Key(mbnum)
: );
:
: 게 만들고요....
:
: mbnum을 자동 증가하기로 만들려고 하는데요...
:
: FAQ에서
: CREATE GENERATOR GEN_PK_ATABLE;
: COMMIT;
:
: CREATE TRIGGER BI_ATABLE FOR ATABLE
: ACTIVE BEFORE INSERT
: AS
: BEGIN
: IF(NEW.ATABLE_ID IS NULL) THEN
: NEW.ATABLE_ID = GEN_ID(GEN_PK_ATABLE, 1);
: END
:
: 하라고 써있더라구요....
:
: 그래서
: 요렇게 썼는데... 에러가..ㅡㅡ;;
:
: CREATE TRIGGER ID_MBNUM FOR MEMBER
: ACTIVE BEFORE INSERT
: AS
: BEGIN
: IF(NEW.MBNUM IS NULL) THEN
: NEW.MBNUM = GEN_ID(GEN_PK_MBNUM, 1);
: END
:
: 트리거 만드는 법 좀 알려주세요......
|