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

FireBird Q&A
[2726] Re:generator 관련된 질문.
삽질 [day1102] 2321 읽음    2008-03-03 14:29
Force 님이 쓰신 글 :
: 파이어버드를 처음 쓰는사람입니다.
:
: 만들어진 Table에 데이터를 insert를 해야하는데.
: pk가 seq이고 Generator에서 자동증가를 하게 되어있는거 같은데요.
: Insert할때 select로 Generator값을 불러서 실행하면 추가는되는데
: Generator값은 그대로이더라구요.
: insert할때 Generator값도 같이 증가하거나 다른 해결방법이 있을까요?
:
: 검색해 봐도 값 가져오는건 있던데, 제가원하는 부분은 없더라구요.

도움이 되실까 해서...
아래는 샘플입니다.

테이블 이름은 COMMAND_LOG 이고
GEN_COMMAND_LOG_ID라는 이름의 generator를 만들었습니다.
이후 COMMAND_LOG_BI FOR 라는 이름으로 COMMAND_LOG 테이블에 대한
트리거를 만들고, insert 직전에 작동하도록 작성된 것입니다.

CREATE SEQUENCE GEN_COMMAND_LOG_ID;

ALTER SEQUENCE GEN_COMMAND_LOG_ID RESTART WITH 0;

SET TERM ^ ;

CREATE TRIGGER COMMAND_LOG_BI FOR COMMAND_LOG
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF ((NEW.LOG_ID IS NULL) OR (NEW.LOG_ID = 0))THEN
  BEGIN
    NEW.LOG_ID = GEN_ID(GEN_COMMAND_LOG_ID,1);
  END
END^

SET TERM ; ^

+ -

관련 글 리스트
2704 generator 관련된 질문. Force 1872 2008/01/30
2726     Re:generator 관련된 질문. 삽질 2321 2008/03/03
2707     Re:generator 관련된 질문. naki 2229 2008/01/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.