1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| USE [BIJOU]
GO
/****** Object: Trigger [dbo].[TG_DEL_F_DOCENTETE] Script Date: 05/23/2014 11:05:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TG_DEL_F_DOCENTETE] ON [dbo].[F_DOCENTETE] FOR DELETE AS
BEGIN
BEGIN TRY
SET NOCOUNT ON;
IF EXISTS(SELECT 'a' FROM F_DOCLIGNE INNER JOIN DELETED
ON (F_DOCLIGNE.DO_Type = DELETED.DO_Type AND F_DOCLIGNE.cbDO_Piece = DELETED.cbDO_Piece))
Raiserror(82043,11,1);
IF EXISTS(SELECT 'a' FROM F_DOCREGL INNER JOIN DELETED
ON (F_DOCREGL.DO_Domaine = DELETED.DO_Domaine AND F_DOCREGL.DO_Type = DELETED.DO_Type AND
F_DOCREGL.cbDO_Piece = DELETED.cbDO_Piece))
Raiserror(82067,11,1);
IF EXISTS(SELECT 'a' FROM F_REGLECH INNER JOIN DELETED
ON (F_REGLECH.DO_Domaine = DELETED.DO_Domaine AND F_REGLECH.DO_Type = DELETED.DO_Type AND
F_REGLECH.cbDO_Piece = DELETED.cbDO_Piece))
Raiserror(82076,11,1);
END TRY
BEGIN CATCH
DECLARE
@ErrorMessage nvarchar(max),
@ErrorNumber int,
@ErrorSeverity int,
@ErrorState int;
SET @ErrorMessage = ERROR_MESSAGE();
SET @ErrorNumber = ERROR_NUMBER();
SET @ErrorSeverity = ERROR_SEVERITY();
SET @ErrorState = ERROR_STATE();
IF XACT_STATE() <> 0
ROLLBACK;
IF (@ErrorNumber = 1205) OR (@ErrorNumber = 1222)
RAISERROR(80008,@ErrorSeverity,@ErrorState);
ELSE
IF @ErrorNumber > 50000
RAISERROR(@ErrorNumber,@ErrorSeverity,@ErrorState);
ELSE
RAISERROR(@ErrorMessage,@ErrorSeverity,@ErrorState);
RETURN;
END CATCH;
END; |
Partager