问题请教谢谢

csdcc123 2019-05-24 03:54:31
表如下:
create table ta (A int,B int)
insert into ta values (5,5),(6,3),(7,2),(8,9)
select * from ta

如果A大于B,更新A为A+B,为什么不能写成以下形式
if ta.A>ta.B
begin
update ta set A=A+B
end

新手确实不明白,请详细说明多谢
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdcc123 2019-05-27
  • 打赏
  • 举报
回复
还有回答的没
csdcc123 2019-05-24
  • 打赏
  • 举报
回复
引用 1 楼 听雨停了 的回复:
你这看起来有点像代码的意思了,不是sql啦,为什么不能这样,微软说不能就不能啦。如果你要完成上面这个操作,直接

UPDATE ta SET A = A+B
WHERE A>B

就行了

谢谢,这是一个条件,比如有多个条件,感觉用IF好像方便,但不能这么用,那么IF是 只能用在那里,然后又不能用在那里,
IF的应用场景是什么,请详细说一下,
听雨停了 2019-05-24
  • 打赏
  • 举报
回复
你这看起来有点像代码的意思了,不是sql啦,为什么不能这样,微软说不能就不能啦。如果你要完成上面这个操作,直接

UPDATE ta SET A = A+B
WHERE A>B
就行了

22,209

社区成员

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

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