How would you implement that check? You have N parameters for a stored procedure.
If all value are null or 0 or empty string, run the code else skip it
This is how I implemented it, is there a better way?
I really don’t like what I did so I’m open to any better idea, must be easily maintainable since it would be done at many places
declare @doRunIt bit
declare @checkAllNull varchar(max)
declare @sumOfInt int
set @checkAllNull = ''
set @checkAllNull = @checkAllNull + coalesce(@param1,'')
set @checkAllNull = @checkAllNull + coalesce(@param2,'')
set @checkAllNull = @checkAllNull + coalesce(@param3,'')
set @checkAllNull = @checkAllNull + coalesce(@param4,'')
set @checkAllNull = @checkAllNull + coalesce(@param5,'')
set @checkAllNull = @checkAllNull + coalesce(@param6,'')
set @sumOfInt = coalesce(@param7,0)+coalesce(@param8,0)+
coalesce(@param9,0)+coalesce(@param10,0)+
coalesce(@param11,0)+coalesce(@param12,0)
set @checkAllNull = @checkAllNull + cast(@sumOfInt as varchar(max))
if ( isnumeric(@checkAllNull)=1 )
if (cast(@checkAllNull as int) > 0)
set @doRunIt = 1
else
set @doRunIt = 0
else
if (ltrim(rtrim(@checkAllNull)) <> '')
set @doRunIt = 1
else
set @doRunIt = 0
End goal is to move the check made in code for inserting empty row, if all parameters are null or using default value, in the DB into the stored procedure, so other apps can call the same stored procedure without having to deal with checking for empty row.
Your code
Helper function