Actualiza Catálogos1

Navigation:  KnowledgeBase Programación > Base de Datos > Compras > Triggers >

Actualiza Catálogos1

Previous pageReturn to chapter overviewNext page

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