Problème de création de Trigger [Résolu]

Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006
- - Dernière réponse : vincentstryckmans
Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006
- 20 oct. 2005 à 11:20
Bonjour,



J'ai un script qui crée, entre autres, une table et un trigger :



CREATE TABLE "COMPOSANT"
(
"ID_COMPOSANT" INTEGER NOT NULL,
"F_COMPOSANT" VARCHAR(60) NOT NULL,
"N_COMPOSANT" VARCHAR(60) NOT NULL,
"LNK_ELEMENT" INTEGER NOT NULL,
PRIMARY KEY ("ID_COMPOSANT")
);
CREATE TRIGGER "ID_COMPOSANT" FOR "COMPOSANT"
ACTIVE BEFORE INSERT POSITION 0
as
begin
if (new.id_composant is null) then
new.id_composant = gen_id(gen_composant,1);
end;

Le générateur est également créé dans le script.

Le script est correctement exécuté et lorsque je veux vérifier le résultat, je ne trouve pas trace du trigger.
La consultation du metadata me donne ceci :

CREATE TABLE "COMPOSANT"
(
"ID_COMPOSANT" INTEGER NOT NULL,
"F_COMPOSANT" VARCHAR(60) NOT NULL,
"N_COMPOSANT" VARCHAR(60) NOT NULL,
"LNK_ELEMENT" INTEGER NOT NULL,
PRIMARY KEY ("ID_COMPOSANT")
);

ALTER TABLE "COMPOSANT" ADD
as
begin
if (new.id_composant is null) then
new.id_composant = gen_id(gen_composant,1);
end;

Pour une autre ayant la même structure et créée dans le même script, le problème n'apparaît pas et le trigger est bine créé

QUID ?

J'utilise Interbase 7.5

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006
3
Merci
L'inspiration m'est venue en donnant un autre nom à mon trigger ...
autre que celui d'un des champs de la table sur laquelle s'applique le
trigger.

Et bien cela marche.



En conclusion : ne jamais nommer de la même manière deux choses qui
n'ont pas les mêmes fonctionnalités mais qui peuvent inter agir.



Principe que j'applique en Delphi et que j'ai oublié d'appliquer en sql. Pas bien Vincent ===

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 220 internautes nous ont dit merci ce mois-ci

Commenter la réponse de vincentstryckmans