Bonjour,
J'effectue un trigger d'update dans des tables d'une base et j'aimerais savoir si ma requete c'est bien excétuté afin d'enregistrer le résultat dans une autre table.
Voici une partie de mon trigger pour mieux comprendre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 -- On va modifier l'entete de la facture UPDATE F_DOCENTETE SET CA_Num = @Tournee, ORDRE_LIVRAI = @ordreLiv, DO_Piece = 'P'+@Tournee+@ordreLiv, DO_Date = convert(varchar(10),getdate(),103) WHERE DO_Piece = @IdComm AND DO_Domaine = 0 AND DO_Type = 1 -- On va modifier la ligne de la facture UPDATE F_DOCLIGNE SET DO_Type = 2, CA_Num = @Tournee, DO_Piece = 'P'+@Tournee+@ordreLiv, DL_PieceBC = @IdComm, DL_DateBC = DO_Date, DO_Date = convert(varchar(10),getdate(),103) WHERE DO_Piece = @IdComm AND DL_Ligne = @NumLign AND DO_Domaine = 0 AND DO_Type = 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 -- SI pas d'erreur dans mes deux triggers j'effectue ce traitement UPDATE T_ECHANGES SET DATE_TRAITEMENT = getdate(), STATUT = 'TRAITE' WHERE IDENTIFIANT = @idEchangeIl me faudrait également pouvoir récupérer un numéro d'erreur (ou dans le meilleur des cas un libellé sur l'erreur.... pour le mettre dans le champ ERREUR de ma table T_ECHANGES
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 -- SI il y a une erreur, j'effectue ce traitement, et j'annule mes deux requetes précedente.... UPDATE T_ECHANGES SET DATE_TRAITEMENT = getdate(), STATUT = 'ERREUR' ERREUR='détail erreur' WHERE IDENTIFIANT = @idEchange rollback transaction
Merci d'avance
Silvia
Partager