Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
xrum
Yak Posting Veteran
87 Posts |
Posted - 2010-03-18 : 11:26:30
|
| Hello,I am a bit stuck.I need to write a stored procedure that will look on a variable passed in. if it's a 0, increment the db value by 1. if the value passed in is more then 0, then replace the db value with the one i'm passing in.hope that makes sense.this is what i have now... but i dont know how to put the condition in....ALTER PROCEDURE [dbo].[sp_myProcedure] ( @ID [int], @result [char] , @myNumber [int], @date [datetime] )AS UPDATE [IJHNDanger].[dbo].[tblPostTestResults] SET [score] = @score, [myNumber] =@myNumber , [date] =@date WHERE [id] = @ID--Check for errorsif @@Error <> 0begin raiserror ('Error occurred',16,2) returnendso, in this case.. i need to look at @myNumber. and if it's 0 then increment myNumber db field by 1, but if @myNumber is greater then 0, i need to run the procedure as stated above.....Thanks! |
|
|
AAAV
Posting Yak Master
152 Posts |
Posted - 2010-03-18 : 11:42:47
|
| ALTER PROCEDURE [dbo].[sp_myProcedure] (@ID [int],@result [char] ,@myNumber [int],@date [datetime] )AS UPDATE [IJHNDanger].[dbo].[tblPostTestResults] SET [score] = @score,[myNumber] = case when @myNumber=0 then [myNumber] +1 else @mynumber end ,[date] =@dateWHERE [id] = @ID |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2010-03-18 : 11:56:36
|
or justALTER PROCEDURE [dbo].[sp_myProcedure] (@ID [int],@result [char] ,@myNumber [int],@date [datetime] )AS UPDATE [IJHNDanger].[dbo].[tblPostTestResults] SET [score] = @score,[myNumber] = coalesce(nullif(@myNumber,0),[myNumber] +1),[date] =@dateWHERE [id] = @ID ------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
|
|
|
|
|