Click here to Skip to main content
15,904,926 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
i have used triger on table.This triger is fire when i insert data in LeaveFrom Table.In My Stored procedure if condition i have put.when i put if condition code in if condition is not working.If i remove if codition then insert work successfully.My I have try this code in Query builder.data is comming when if is fire.but what is problem in storeprocedure code,that i dont know.

My Triger is:
ALTER TRIGGER Trigger2
ON dbo.LeaveForm

AFTER INSERT

AS
Begin
EXEC Biometrics_InsertFrom_LeaveForm
End


My Storeprocedure is..
ALTER PROCEDURE dbo.Biometrics_InsertFrom_LeaveForm
	

AS


Declare @Count int
Declare @LeaveFrom datetime
Declare @LeaveTo datetime
Declare @Approve bit
set @Approve='True'
		select @Count=count(*) from LeaveForm where Approve=@Approve and (convert(varchar,@LeaveFrom,101)=convert(varchar,getdate(),101) or convert(varchar,@LeaveTo,101)=convert(varchar,getdate(),101))
	
		if(@Count > 0)
			   begin
			INSERT INTO Biometrics (PCL,PLE)
			VALUES        (getdate(),getdate())

end
	RETURN
Posted
Updated 4-Feb-13 21:00pm
v2
Comments
__TR__ 5-Feb-13 3:06am    
Looks like @Count is not greater than 0, hence the insert statement is not getting executed. Also you are not passing any dates to @LeaveFrom and @LeaveTo. If you use them in your query without passing any value it will be null and your query may not return any rows.
Use
Print @Count to check the value of @Count.

1 solution

It works for me, so my assumption is that your WHERE condition is returning no records.
I'm not quite sure what you are trying to do, but the condition does look a bit rubbish. If you are trying to see in the current date is between two leave dates, then why not just use BETWEEN? Never convert dates to a string to compare them!
 
Share this answer
 

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



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