日期:2014-05-18  浏览次数:20455 次

···更新一条记录会做,但不会更新一个字段(在线等待)
我是新手,大家不要笑话我。我有一个网站帮助设置表,里面只有一条记录,由十几个字段。现在我想更新其中某个字段的值
下面是存储过程,但是有错误,那位哥们帮我修修,在此诚谢!

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