Hi. Try with this example:
-- creating procedure...
drop procedure XYZ
go
create procedure XYZ
@value1 varchar(8000),
@value2 varchar(8000),
@value3 varchar(8000) = null,
@sql varchar(8000) output
as
set @sql = 'update'
set @sql = @sql + ' field1 = ''' + @value1 + ''''
set @sql = @sql + ',field2 = ''' + @value2 + ''''
If Len(@value3) > 0 set @sql = @sql + ',field3 = ''' + @value3 + ''''
set @sql = @sql + ' where ....'
go
-- testing procedure...
declare @arg1 varchar(8000)
declare @arg2 varchar(8000)
declare @arg3 varchar(8000)
declare @ret varchar(8000)
set @arg1 = 'v1'
set @arg2 = 'v2'
set @arg3 = 'v3'
execute XYZ @value1=@arg1, @value2=@arg2, @sql=@ret output
print @ret
execute XYZ @value1=@arg1, @value2=@arg2, @value3=@arg3, @sql=@ret output
print @ret
rk****@kelsointeractive.com (Robert) wrote in message news:<4b**************************@posting.google. com>...
I'm enhancing a large ASP application by replacing raw SQL statements
in the code with calls to stored procedures. I've seen this
recommended in many places to increase SQL Server effieicency.
Replacing select statements is going fine but I hit a sticking point
when trying to replace an update statement.
Currently, I use this kind of statement a lot in my ASP:
sql = "update"
sql = sql & " field1 = value1"
sql = sql & ",field2 = value2"
If Len(value3) Then sql = sql & ",field3 = value3"
sql = sql & " where ...., etc, etc
The important part here is checking if "value3" has a value before
inserting it into my SQL statement. So how can I put this update
statement into a stored procedure, pass in values for value1, value2,
and value3, and leave off the value3 part of the update if value3
comes in as null.
Thanks all.