[SQL2K5][T-SQL] Accès a INSERTED dans un CATCH
Bonjour,
J'ai un trigger sur une table, qui, s'il y'a une erreur, fait le traitement suivant:
Code:
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; |
Or quand une erreur se produit, SQL Server me retourne l'erreur suivante:
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 ?