Comment annuler un INSERT dans un Trigger ?

cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Dernière intervention 7 novembre 2009 - 17 juin 2008 à 15:16
theguitou Messages postés 75 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 14 janvier 2009 - 20 juin 2008 à 22:46
Bonjour, j'ai un trigger suivant :

Que dois-je mettre à la place de "-- Annuler l'insert" pour annuler l'insert en cours ?

ALTER
TRIGGER TRIGGER_CITY_CONTRAINTE

ON dbo
.CITY

AFTER INSERT,UPDATE

AS

BEGIN

             SET
NOCOUNT
ON;

             DECLARE @CITY_ID
int

             SET @CITY_ID
=
null

             select @CITY_ID
= CITY_ID
FROM CITY

                          INNER
JOIN inserted
ON inserted
.ID_CODE
= CITY
.ID_CODE

                                                                 AND inserted
.ID_PAYS
= CITY
.ID_PAYS

                                                                 AND inserted
.LIB_VILLE
= CITY
.LIB_VILLE

                          if
not
(@CITY_ID
is
null)

                          BEGIN

                                       -- Annuler l'insert

                          ENDGO

vladam
(pour vous servir :) )
A voir également:

2 réponses

dominique.stock Messages postés 436 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 8 octobre 2008 7
18 juin 2008 à 10:34
Bonjour ,
Peut-être :
ROLLBACK TRANSACTION

Dom
0
theguitou Messages postés 75 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 14 janvier 2009 35
20 juin 2008 à 22:46
Salut,

En générale on lève une exception. Tu pourras (normalement) la récupérer coté application et éventuellement afficher un message d'erreur.

Mais du coup c'est plutot un "BEFORE INSERT" qu'il te faut ...
0
Rejoignez-nous