Q&A

  • interbase6.0 table create 질문
처음 interbase를 써보는데 테이블 create에서 에러가 나는데 이유를 모르겠네요. 제 환경은 win 2000 pro에 interbase6.0입니다.



====================================================

/* TERM_TBL */

/* Domain definitions */



CREATE DOMAIN TERMID AS SMALLINT;

CREATE DOMAIN TERMNO AS VARCHAR(10)

DEFAULT '-';

CREATE DOMAIN CAPCODE AS VARCHAR(10);

CREATE DOMAIN TERMMODEL AS VARCHAR(15)

DEFAULT '-';

CREATE DOMAIN ISCHAR AS CHAR(4)

DEFAULT 'NUM'

CHECK(VALUE = 'NUM' OR VALUE = 'CHAR');

CREATE DOMAIN RESERVENO1 AS VARCHAR(14);

CREATE DOMAIN RESERVENO2 AS VARCHAR(14);



/* Table: WIMS, Owner: WIMS */

CREATE TABLE term_tbl

(

term_id TERMID NOT NULL,

term_no TERMNO NOT NULL,

capcode CAPCODE NOT NULL,

term_model TERMMODEL NOT NULL,

is_char ISCHAR NOT NULL,

reserve_no1 RESERVENO1,

reserve_no2 RESERVENO2,



UNIQUE (capcode),

PRIMARY KEY (term_no)

);



/* Generator Definition */

CREATE GENERATOR term_id_gen;



/* Triggers only will work for SQL triggers */

SET TERM;



CREATE TRIGGER SET_TERM_ID FOR term_tbl

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

new.term_id = gen_id(term_id_gen, 1);

END



COMMIT



SET TERM;





/* Grant permissions for this database */

GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON term_tbl TO PUBLIC WITH GRANT OPTION;



========================================================



에러는 다음과 같습니다.

에러는 trigger에서 나는 것 같은데 말이죠...



> Dynamic SQL Error

> SQL error code = -104

> Token unknown - line 7, char -1

> COMMIT

> Statement: CREATE TRIGGER SET_TERM_ID FOR term_tbl

> ACTIVE BEFORE INSERT POSITION 0

> AS

> BEGIN

> new.term_id = gen_id(term_id_gen, 1);

> END

> COMMIT

> SET TERM;

> /* Grant permissions for this database */

> GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON term_tbl TO

> PUBLIC WITH GRANT OPTION;

0  COMMENTS