···更新一条记录会做,但不会更新一个字段(在线等待)
我是新手,大家不要笑话我。我有一个网站帮助设置表,里面只有一条记录,由十几个字段。现在我想更新其中某个字段的值
下面是存储过程,但是有错误,那位哥们帮我修修,在此诚谢!
ALTER PROCEDURE dbo.webhelp_GetWebHelp
(
@action varchar(20), ---------由于不知道具体更新表里那个字段,用action参数确定更新的字段,action的值和表里面某个字段值一样
@WebHelpContent text ---------这个是要更新的内容
)
AS
update webhelp set @action=@WebHelpContent
RETURN
------解决方案--------------------这个麻烦,要先判断字段是什么类型?然后用动态SQL实现.
exec('update webhelp set ' + @action + '=' + @WebHelpContent)
上面假设字段是数值型的.
如果是字符串型.
exec('update webhelp set ' + @action + '=''' + @WebHelpContent + ''')
------解决方案--------------------CREATE Procedure dbo.webhelp_Update
( @action varchar(20),
@WebHelpContent varchar(max)
)
AS
exec ('update webhelp set ' + @action + '= ''' + @WebHelpContent + '''')
RETURN