读书人

存储过程 怎么动态选择更新列

发布时间: 2012-09-10 11:02:32 作者: rapoo

存储过程 如何动态选择更新列

SQL code
create PROCEDURE [dbo].[sp_ProductSetProduct]--------------------------------------目的:设置产品。------------------------------------@Id int,--@Action的值是commend或new或hot@Action nvarchar(50),@SetValue intAS--本来只能固定更新IsCommend这个字段UPDATE ProductSET IsCommend = @SetValueWHERE Id = @Id--现在加入了@Action参数,想有选择的更新一个字段UPDATE Product--这样好象不行IF @Action = 'commend' BEGINSET IsCommend = @SetValueENDWHERE Id = @Id


[解决办法]
exec('update 表明 set '+@字符串列名+'='+@字符串值+' where 列名='+@条件值+'')
[解决办法]
SQL code
create PROCEDURE [dbo].[sp_ProductSetProduct]--------------------------------------目的:设置产品。------------------------------------@Id int,--@Action的值是commend或new或hot@Action nvarchar(50),@SetValue intASBEGIN    SET NOCOUNT ON     IF @Action = 'commend'     BEGIN        UPDATE Product SET 字段=值 WHERE ID=@ID    END    IF @Action = 'new'     BEGIN        UPDATE Product SET 字段=值 WHERE ID=@ID    END    ELSE    BEGIN        UPDATE Product SET 字段=值 WHERE ID=@ID    ENDEND 

读书人网 >SQL Server

热点推荐