Bonjour,
J'ai un trigger sur une table, qui, s'il y'a une erreur, fait le traitement suivant:
Or quand une erreur se produit, SQL Server me retourne l'erreur suivante:
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 BEGIN CATCH ROLLBACK TRANSACTION; DECLARE @MAIL_MSG VARCHAR(1024); SET @MAIL_MSG = ERROR_MESSAGE() + '<br><br>'; EXEC msdb.dbo.sp_send_dbmail @profile_name = 'monProfil', @recipients = gringo@gringo.com', @subject = 'monTrigger', @body = @MAIL_MSG, @query = 'SELECT IDMESSAGE, IDPARENT, IDCUSTOMER, IDBILLINGSTATUS, IDOPERATORRESPONSE FROM INSERTED;', @query_result_separator = ',', @body_format = 'HTML'; SET @MAIL_MSG = 'TR_AIU_SMSSENT_FAST : ' + REPLACE(@MAIL_MSG, '<br>', ''); RAISERROR(@MAIL_MSG, 16, 1); END CATCH;
Msg 22050, Level 16, State 1, Line 0
Error formatting query, probably invalid parameters
Msg 14661, Level 16, State 1, Procedure sp_send_dbmail, Line 478
Query execution failed: Msg 208, Level 16, State 1, Server SQL, Line 1
Invalid object name 'INSERTED'.
Pourquoi n'est-il pas possible d'accéder à INSERTED dans le CATCH ?
Partager