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

FireBird Q&A
[2411] Re:Re:Re:감사합니다... 근데여... 괜찮으시다면 주석 좀 달아 주지면 안될까요???
멋지다그녀석 [] 2125 읽음    2007-03-20 15:17
아.. 어떻게 답변을 드려야 할지...

트리거는 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
: : :
: : : 트리거 만드는 법 좀 알려주세요......

+ -

관련 글 리스트
2407 회원번호 자동증가하기를 만들려고 하는데요... 에러가나는데..^^; 김은하 1736 2007/03/19
2408     Re:회원번호 자동증가하기를 만들려고 하는데요... 에러가나는데..^^; 멋지다그녀석 2333 2007/03/20
2409         Re:Re:감사합니다... 근데여... 괜찮으시다면 주석 좀 달아 주지면 안될까요??? 김은하 1959 2007/03/20
2411             Re:Re:Re:감사합니다... 근데여... 괜찮으시다면 주석 좀 달아 주지면 안될까요??? 멋지다그녀석 2125 2007/03/20
2415                 Re:Re:Re:Re:답변감사합니다(냉무) 김은하 2020 2007/03/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.