2010-02-15 3 views
0

파이어 버드> = 2.1에서 SEQUENCE (a.k.a. 012.)으로 채워진 간단한 직렬 대리 키 생성을 단순화하기 위해 다른 사람들이하는 일은 무엇입니까? 나는 단순히 입력 MySQL의에서파이어 버드 시퀀스 기반 ID 속기

pg> CREATE TABLE tbl (
    > id SERIAL NOT NULL PRIMARY KEY, 
    > ... 

:

my> CREATE TABLE tbl (
    > id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
    > ... 

을하지만 파이어 버드에서 내가 입력 :

예를 들어, PostgreSQL을에, 나는 단순히 입력 :

을 나는 비교적 힘든 과정을 분 (Finc)
fb> CREATE TABLE tbl (
    > id BIGINT NOT NULL PRIMARY KEY, 
    > ... 

fb> CREATE SEQUENCE tbl_id_seq; 

fb> SET TERM !!; 
    > CREATE TRIGGER tbl_id_trg FOR tbl 
    > ACTIVE BEFORE INSERT POSITION 0 
    > AS 
    > BEGIN 
    > IF ((new.id IS NULL) OR (new.id <= 0)) THEN 
    > BEGIN 
    >  new.id = GEN_ID(tbl_id_seq, 1); 
    > END 
    > END !! 
    > SET TERM ; !! 

... 나는 트리거 정의에 도달 할 때까지 꽤 지루해합니다. 그러나, 나는 일상적으로 SEQUENCE -backed ID 필드를 임시, 개발 및 폐기 테이블에 사용합니다. 이것을 단순화하기 위해 다른 사람들은 무엇을합니까? IDE로 작업 하시겠습니까? DDL 파일을 통해 사전 처리, 사내 펄 스크립트를 실행 하시겠습니까? 등

답변

2

사용 IBExpert 당신은 4 클릭

내가 SEQUENCE는 SQL 표준에 생각에 그것을 만들 수 있습니다.

0

트리거를 생성하지 않고 시퀀스를 생성하고 삽입 쿼리에서 GEN_ID (tbl_id_seq, 1)를 사용할 수 있습니다. 그러나 Hugues는 이미 IBExpert와 같은 도구를 사용하여 상용구 코드를 생성하는 것이 매우 간단하다고 말합니다.

관련 문제