ALTER PROCEDURE [dbo].[Pro_AuditProduct](
@id int
)
as
begin
update tg_teams set statue=1 where id=@id;
end
我想实现 当statue=1时将statue更新成0 当它等于0时将statue状态更新成1
这个存储过程怎么改呢

解决方案 »

  1.   

    update tg_teams set case statue when 1 then 0 when 0 then 1 end where id=@id;
      

  2.   

    update tg_teams set statue = case statue when 1 then 0 when 0 then 1 end where id=@id;
    错了 应该是这个
      

  3.   

    update tg_teams set statue=case when statue=1 then 0 else 1 end where id=@id;
      

  4.   

    ALTER PROCEDURE [dbo].[Pro_AuditProduct](
    @id int
    )
    as
    begin
    update tg_teams set statue=1-statue where id=@id;
    end
      

  5.   


    ALTER PROCEDURE [dbo].[Pro_AuditProduct](
    @id int
    )
    as
    begin
    declare @statue int
    select @statue=statue from tg_teams where id=@id
    if @statue=0
    update tg_teams set statue=1 where id=@id;
    if @statue=1
    update tg_teams set statue=0 where id=@id;end
      

  6.   

    4楼适用于statue只有1和0的情况
      

  7.   

    update tb set statue = abs(statue -1) where id=@id