USE [API2012]
GO
/****** Object: Trigger [dbo].[UpdateCatalogos1] Script Date: 02/25/2014 11:44:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER TRIGGER [dbo].[UpdateCatalogos1]
ON [dbo].[Catalogos1]
AFTER UPDATE, DELETE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
DECLARE @Action as char(1);
DECLARE @OLD varchar(50)
DECLARE @NEW varchar(50)
DECLARE @ERROR NVARCHAR(200)
SET @Action = 'I'
IF EXISTS(SELECT * FROM DELETED)
BEGIN
SET @Action =
CASE
WHEN EXISTS(SELECT * FROM INSERTED) THEN 'U' -- Set Action to Updated.
ELSE 'D' -- Set Action to Deleted.
END
END
if @Action = 'D'
BEGIN
SELECT @OLD = IDCatalogo1 FROM deleted
IF EXISTS(SELECT IDInfo FROM InfoAdicional WHERE Valor1=@OLD)
BEGIN
SET @ERROR = 'NO SE PUEDE ELIMINAR EL REGISTRO. EXISTEN DOCUMENTOS RELACIONADO CON ÉL'
RAISERROR 44447 @ERROR
ROLLBACK
END
END
if update(IDCatalogo1)
BEGIN
If @Action = 'U'
BEGIN
SELECT @OLD = IDCatalogo1 FROM deleted
SELECT @NEW = IDCatalogo1 FROM inserted
UPDATE InfoAdicional SET Valor1 = @NEW WHERE Valor1 = @OLD
END
END
END