Trigger [Oracle]
londuba
Messages postés
92
Statut
Membre
-
londuba Messages postés 92 Statut Membre -
londuba Messages postés 92 Statut Membre -
Bonjour,
j'utilise oracle 10g express, j'ai une table T1 dont je veux appliquer un trigger qui interdit l'insertion pour eviter un doublon dans un chanp C1, au moment d'insérer s'il existe la même donnée dans le champ je veux que mon trigger refuse cette insertion en fait je connait pas les trigger mais d'après mes recherches sur google j'ai réussie à créer un trigger qui n'a pas d'erreur dans le code mais malheureusement qui fonctionne pas car malgré le trigger j'arrive à inserer des doublons voici mon code :
je sais vraiment pas pourquoi j'arrive toujours à insérer des doublons.
Merci pour votre aide
j'utilise oracle 10g express, j'ai une table T1 dont je veux appliquer un trigger qui interdit l'insertion pour eviter un doublon dans un chanp C1, au moment d'insérer s'il existe la même donnée dans le champ je veux que mon trigger refuse cette insertion en fait je connait pas les trigger mais d'après mes recherches sur google j'ai réussie à créer un trigger qui n'a pas d'erreur dans le code mais malheureusement qui fonctionne pas car malgré le trigger j'arrive à inserer des doublons voici mon code :
CREATE OR REPLACE TRIGGER "Trigger_sans_erreur_compile" AFTER insert on TABLE1 for each row DECLARE CHAMP1 NUMBER(4); begin IF :new.CHAMP1=:old.CHAMP1 THEN raise_application_error(-20040,'insertion impossible'); END IF; end;
je sais vraiment pas pourquoi j'arrive toujours à insérer des doublons.
Merci pour votre aide
Configuration: Windows Vista Firefox 2.0.0.16
3 réponses
-
Bonjour,
Alors premièrement, pour ce type de trigger, il faudrait le faire avant l'insertion et non après (BEFORE INSERT)
Ensuite, pourquoi ne pas utiliser simplement une clé unique ? (sauf a faire des tests)...
A plus -
Merci asever pour ta reponse rapide, j'ai essayer avec before update mais j'arrive toujours à inserer les doublons en fait il est vraie qu'on peut avoir d'autres alternatives mais je dois le gérer avec un trigger.
-
Oui j'ai vue juste mais meme avec insert je parviens toujours à insérer des doublons je sais pas s'il faut pas utiliser des requêtes select dans le begin pour tester mais je sais vraiment pas comment faire.