I want to create a trigger to check if a record exist before insert, if it exists rollback, if not continue to do the insert. The thing is when I do the insert it always rollback. what should I do?
ALTER TRIGGER [dbo].[CHECKCONSOMMATION]
ON [dbo].[ConsommationEau]
FOR INSERT
AS
DECLARE @IDABONNEMENT INT
DECLARE @DEFMONTH DATETIME
SELECT @IDABONNEMENT = inserted.idAbonnement FROM inserted
SELECT @DEFMONTH = inserted.Periode FROM inserted
IF EXISTS (SELECT 1 FROM ConsommationEau WHERE idAbonnement = @IDABONNEMENT AND DATEDIFF(MONTH, Periode, @DEFMONTH) = 0)
    BEGIN
    RAISERROR('THIS RECORD IS ALREADY EXISTS', 10, 1)
    ROLLBACK
    RETURN
    END
and this my table.
     USE [GESTEAU]
      GO
 /****** Object:  Table [dbo].[ConsommationEau]    Script Date: 4/20/2017  
 :08:53 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 CREATE TABLE [dbo].[ConsommationEau](
[idConsomationEau] [int] IDENTITY(1,1) NOT NULL,
[Periode] [date] NULL,
[Qte] [int] NULL,
[idAbonnement] [int] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ConsommationEau]  WITH CHECK ADD FOREIGN 
KEY([idAbonnement])
REFERENCES [dbo].[AbonnementEau] ([idAbonnement])
 GO
 
     
     
     
    