며칠을 삽질했습니다. 도와주십시오.
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씩 자동증가 하게끔 하고 싶습니다....
제대로된 문장을 제발 부탁드립니다..
|