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

FireBird Q&A
[2415] Re:Re:Re:Re:답변감사합니다(냉무)
김은하 [yosu] 2019 읽음    2007-03-21 09:28
멋지다그녀석 님이 쓰신 글 :
: 아.. 어떻게 답변을 드려야 할지...
:
: 트리거는 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 회원번호 자동증가하기를 만들려고 하는데요... 에러가나는데..^^; 김은하 1735 2007/03/19
2408     Re:회원번호 자동증가하기를 만들려고 하는데요... 에러가나는데..^^; 멋지다그녀석 2332 2007/03/20
2409         Re:Re:감사합니다... 근데여... 괜찮으시다면 주석 좀 달아 주지면 안될까요??? 김은하 1958 2007/03/20
2411             Re:Re:Re:감사합니다... 근데여... 괜찮으시다면 주석 좀 달아 주지면 안될까요??? 멋지다그녀석 2125 2007/03/20
2415                 Re:Re:Re:Re:답변감사합니다(냉무) 김은하 2019 2007/03/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.