Sreedhar Danturthi
Sreedhar Danturthi

Reputation: 7601

Sending a column name and values as Parameter in stored procedure

I want to update an entry in Stored Procedure with the column name and column value that I pass as parameter, how can I do it.

Upvotes: 0

Views: 1365

Answers (2)

Adriaan Stander
Adriaan Stander

Reputation: 166566

For something like that you will need to use Dynamic SQL

Something like

CREATE TABLE #Test(
        ID INT,
        Val VARCHAR(20)
)

INSERT INTO #Test SELECT 1, '2'

SELECT  *
FROM    #Test

DECLARE @ColumnName VARCHAR(MAX),
        @ParamValue VARCHAR(MAX),
        @Lookup INT

SELECT  @ColumnName = 'Val',
        @ParamValue = 'tada',
        @Lookup = 1

DECLARE @SQL VARCHAR(MAX)
SELECT  @SQL = 'UPDATE #Test SET ' + @ColumnName + ' = ''' + @ParamValue + ''' WHERE ID = ' + CAST(@Lookup AS VARCHAR(MAX))
EXEC (@SQL)

SELECT  *
FROM    #Test

DROP TABLE #Test

Upvotes: 2

Chhatrapati Sharma
Chhatrapati Sharma

Reputation: 623

try with this

IF @COLUMNNAMEVALUEVARCHAR <> '' OR  @COLUMNNAMEVALUEVARCHAR is not NULL

IF @COLUMNNAMEVALUEFLOAT <> '' OR  @COLUMNNAMEVALUEFLOAT is not NULL

Upvotes: 0

Related Questions