Problème de création de Trigger

Résolu
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006 - 14 oct. 2005 à 13:44
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.

1 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
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.
3
Rejoignez-nous