“update 表A set 字段X='yy' where a=1”语句怎样加入这样的判断?

snailili 2003-10-30 04:54:42
就是一个类似条件选择的判断:
当a=1时执行字段X='yy' ;
当b=2时执行字段Q='pp';
能否用一个SQL语句就把它搞定,就象case......when...then...一样
因为有十个左右的判断更新,我不想逐个在查询分析器去写,执行
谢谢!
...全文
31 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-10-30
  • 打赏
  • 举报
回复
update 表 set x=case when a=1 then 'yy' else x end,Q=case when b=2 then 'pp' else Q end
DigJim 2003-10-30
  • 打赏
  • 举报
回复
declare @a int
declare @b int
declare @X varchar(12)
declare @Q varchar(12)
set @a=1
set @b=1
select case when @a=1 then @X='YY' when @b=2 then @Q='pp' end
DigJim 2003-10-30
  • 打赏
  • 举报
回复
declare @a int
declare @b int
declare @X varchar(12)
declare @Q varchar(12)
set @a=1
set @b=1
case when @a=1 then @X='YY' when @b=2 then @Q='pp' end
lvltt 2003-10-30
  • 打赏
  • 举报
回复
类似这样:
(case when a=1 then X='yy' else '' end)
(case when b=2 then Q='pp' else '' end)
txlicenhe 2003-10-30
  • 打赏
  • 举报
回复
好象只能如上用 case when 了
否则用if语句分好几两来写更麻烦。
pbsql 2003-10-30
  • 打赏
  • 举报
回复
用n个SQL语句把它搞定:
update 表A set 字段X='yy' where a=1
update 表A set 字段Q='pp' where b=2
...
pengdali 2003-10-30
  • 打赏
  • 举报
回复
提高效率:

update 表 set x=case when a=1 then 'yy' else x end,Q=case when b=2 then 'pp' else Q end where a=1 or b=2
pengdali 2003-10-30
  • 打赏
  • 举报
回复
update 表 set x=case when a=1 then 'yy' else x end,Q=case when b=2 then 'pp' else Q end
zarge 2003-10-30
  • 打赏
  • 举报
回复
笔误

update 表
set x = case when a = 1 then 'yy' else x end,
q = case when b = 2 then 'pp' else q end
zarge 2003-10-30
  • 打赏
  • 举报
回复
update 表
set x = case when a = 1 then 'yy' else x end,
y = case when b = 2 then 'pp' else y end

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧