当前位置: 代码迷 >> Sql Server >> 存储过程 怎么动态选择更新列
  详细解决方案

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

热度:66   发布时间:2016-04-27 11:18:10.0
存储过程 如何动态选择更新列
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
  相关解决方案