멋지다그녀석 님이 쓰신 글 :
: 아.. 어떻게 답변을 드려야 할지...
:
: 트리거는 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
: : : :
: : : : 트리거 만드는 법 좀 알려주세요......
|