Evitar Póliza Duplicada

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

Evitar Póliza Duplicada

Previous pageReturn to chapter overviewNext page

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

 

CREATE TRIGGER CHECA_POLIZA_DUPLICADA

  ON CHEQUES

  AFTER INSERT,UPDATE

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 @PolNum VARCHAR(50)

 DECLARE @ERROR NVARCHAR(200)

 

 SELECT @PolNum = inserted.PolNum from inserted

 

 IF ISNULL (@PolNum,'') = '' RETURN

         

 SELECT @PolNum = (SELECT top(1) IDCheque FROM CHEQUES WHERE CHEQUES.PolNum = inserted.PolNum AND YEAR(CHEQUES.Fecha) = YEAR(inserted.Fecha) AND CHEQUES.IDCheque<>inserted.IDCheque) from inserted

 

 IF ISNULL (@PolNum,'') <> ''

 BEGIN

         SET @ERROR = 'ESA PÓLIZA YA EXISTE CON EL ID: ' + @PolNum

         RAISERROR 44447 @ERROR

         ROLLBACK

 END

   

 

END

GO