아.. 어떻게 답변을 드려야 할지...
트리거는 SQL Explorer나 IBExpert같은 툴을 이용하거나, 직접 쿼리문을 작성해서 만들수 있습니다.(굳이 트리거, 제네레이터 뿐만아니라 테이블, 필드, 인덱스, 뷰...등등)
아래 제가 첨부한 내용은 직접 쿼리에 구문을 작성한 것입니다.
굳이 아래처럼 작성한 이유는...
이미 배포한 데이터베이스에 모두 찾아가 하나하나 구조를 수정하기에는 시간과 인력이 너무 많이 소요되기 때문에 제가 필요로하는 작업의 내용을 가진 실행화일을 만들어 배포하면 간단하게 데이터베이스 구조를 제가 원하는대로 수정할 수 있기 때문입니다. (Query를 사용한 이유에대해 설명이 되었는지 모르겠습니다.)
음... 그러면...
CA는 테이블 ---> 맞습니다.(김은하님의 예라면 Member 이겠죠)
CA_NO는 필드 ---> 맞습니다..(김은하님의 예라면 mbnum 이겠죠)
IQuery1 이건 김은하님께서도 사용하시는 일반적인 쿼리(입력 수정 삭제시에 사용하는)입니다.
김은하 님이 쓰신 글 :
: CA는 테이블이고
: CA_NO는 필드 같은데...
: IQuery1 이건 뭔지 모르겠어서..;;;
:
: 데이터베이스가 첨이라... 죄송합니다..;;
:
: 멋지다그녀석 님이 쓰신 글 :
: : 예전에 만들어썼던 트리거 구문입니다.
: : 아래 예제를 응용하시면 원하는 결과 얻을 수 있으실것 같습니다.
: :
: : 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
: : :
: : : 트리거 만드는 법 좀 알려주세요......
|