Que font les autres pour simplifier la création de clés de substitution en série simples, peuplées d'un SEQUENCE
(a.k.a. GENERATOR
) dans Firebird> = 2.1? Je Finc le processus relativement difficile:Abréviation d'identificateur de séquence protégée par Firebird
Par exemple, dans PostgreSQL, je tape simplement:
pg> CREATE TABLE tbl (
> id SERIAL NOT NULL PRIMARY KEY,
> ...
En MySQL, je tape simplement:
my> CREATE TABLE tbl (
> id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
> ...
Mais Firebird type I:
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 ; !!
... et je me assez ennuyé par le temps que je tends la définition du déclencheur. Cependant, je crée régulièrement des champs d'ID SEQUENCE
-backed pour les tables temporaires, de développement et jetables. Que font les autres pour simplifier cela? Travailler avec un IDE? Exécuter un script perl interne de pré-traitement sur le fichier DDL? Etc.