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

FireBird Q&A
[3360] 파이어버드 2.0 자동증가문제
미미야 [themain] 2791 읽음    2010-02-02 17:07
며칠을 삽질했습니다. 도와주십시오.


create table db_table (
num integer not null,
datetime varchar(30) not null,
id varchar(5) not null,
temp varchar(5) not null,
lumi varchar(5) not null,
humi varchar(5) not null
);
이렇게 테이블을 만들고 자동증가를 위해 처음에 검색하여

CREATE GENERATOR no_gen;

SET     GENERATOR   no_gen TO  0;

CREATE  TRIGGER  no_trg FOR db_table
BEFORE  INSERT  AS
BEGIN   
    NEW.num = GEN_ID(no_gen, 1);
END;

이런식으로 하니
CREATE GENERATOR no_gen;
부터 에러뜹니다.
statement 에러라고라.. -607 에러네요..
제너레이터가 정의가 안되어 있다.. 뭐이런..
암튼 그래서 sequence로 바꾸어 보려고 합니다.


어디서 찾아서리
1. CREATE SEQUENCE no_seq;

2. SELECT NEXT VALUE FOR no_seq FROM db_table;

CREATE TRIGGER no_trg
FOR db_table ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN
   IF (NEW.num IS NULL) THEN NEW.num = NEXT VALUE
   FOR no_seq
END;
를 하면 end가 잘못되었다고 104번 에러를 냅니다...
아 미치겠습니다..

다시 하니까 또 저 첫줄 1번부터 안된다고 나오네요.. 제발 좀 도와 주십시오...
테이블 구조는 위와 같고 num을 insert 할때마다 1씩 자동증가 하게끔 하고 싶습니다....
제대로된 문장을 제발 부탁드립니다..

+ -

관련 글 리스트
3360 파이어버드 2.0 자동증가문제 미미야 2791 2010/02/02
3387     Re:파이어버드 2.0 자동증가문제 letsgolee 3216 2010/03/13
3362     Re:파이어버드 2.0 자동증가문제 까막.윤창희 2772 2010/02/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.