IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Stopper une Transaction lors de la premiere erreur.


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut Stopper une Transaction lors de la premiere erreur.
    Salut j´ai une petit souci la,
    j´ai creer un trigger et je veux bien que lorsqu´il ya une erreur, qu´il renvoie le rollback et s´arrete la.
    le probleme c´est que la transaction jusqu´a la fin sans erreur de trigger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    create Trigger test
    on tabtest
    After Insert
    As 
    Begin
    declare @gardien  Varchar
    Select  @gardien =  i.valeur
              From inserted i
    If @gardien Is NULL
      Begin
        RaisError('erreur  1 ', 16, 1)
        ROLLBACK TRANSACTION
      End
    If @gardien <> 'I'
      Begin
        RaisError('erreur 2, 16', 1)
        ROLLBACK TRANSACTION
      End
    si je fait
    insert into tabtest(valeur)
    values(NULL)
    Alors j´ai les 2 erreurs affichés mais pas de rollback provenant du trigger, plutot ceci.
    aucun transaction trouvée donc pas de rollback.

    J´aimerais l´arreter lors de la premiere exception,
    j´ai essayer de mettre SET XACT_ABORT ON au debut, mais rien n´a changé

    merci de votre aide

  2. #2
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573

  3. #3
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    Merci ca marche, que je suis bete pourquoi n´ai je pas pensé a return, j´avais essayé EXIT sans succes.
    encore grand merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Initialiser une dialogBox lors de son premier lancement
    Par NeqO55 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/02/2009, 10h40
  2. Conversion du type DATETIME lors d'une transaction distribuée
    Par Erwan1978 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/01/2008, 11h06
  3. message d'erreur "Une transaction est déjà ouverte"
    Par chris81 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/01/2008, 13h50
  4. Réponses: 11
    Dernier message: 26/09/2007, 11h28
  5. cacher un champ d'une liste lors de la premiere ouverture
    Par decksroy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/11/2006, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo