Click here to Skip to main content
15,892,072 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Table

SQL
USE [demo]
GO

/****** Object:  Table [dbo].[cus]    Script Date: 10/19/2013 18:55:12 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[cus](
    [customername] [varchar](max) NULL,
    [address] [varchar](max) NULL,
    [Startdate] [date] NULL,
    [enddate] [date] NULL,
    [status] [varchar](8) NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO


//////////////////////////////////////////
SP

USE [demo]
GO
/****** Object: Trigger [dbo].[trigoninsert] Script Date: 10/19/2013 17:08:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[trigoninsert] on [dbo].[cus]
for
insert
as
declare @customername varchar(max);
declare @address varchar(max);
declare @Startdate date;
declare @enddate date;
declare @status varchar(6);
select @customername=customername from inserted;
select @address=address from inserted;
select @Startdate=Startdate from inserted;
select @enddate=enddate from inserted;
if(@enddate<getdate())>
begin
set @status='InActive';
rollback;
print 'the Value Cannot be inserted as the enddate is less than the current date';
end
begin

update cus
set status=@status where customername=@customername;
end


But Status Column Not Update for According to enddate
Posted

1 solution

Hi Krishna,
you've rolled back insertion in your trigger! then which record of data do you want to update?
you've removed the record before update!
Instead of update statement use insert statement in your trigger again,but set the nested triggers server option to 0 to prevent nested trigger,
look at links for mor information:
http://technet.microsoft.com/en-us/library/ms190739%28v=sql.105%29.aspx[^]
http://msdn.microsoft.com/en-us/library/ms181299%28v=sql.100%29.aspx[^]
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900