SQL中的多个运算是同时进行计算的,即同时操作,all-at-once operation,与在select列表中的前后位置无关
如: update a
set a.value1 = a.value2, a.value2 = a.value1 --同时发生,即时交换
from tmpTable
由上知:1)select中的别名不能在同一select列表中使用。 如select max(id) mid, mid+1 from tmpTable 是错误的
2)UPDATE t
SET t.c4 = convert(varchar(20),GETDATE(),120)
FROM tmp2 t
因执行是同时进行的,故t.c4得到的日期是相同的
3)update a set a.value1 = 100 + (select max(c1) from tmpTable) 因执行是同时的,故最大值c1不会改变
4)应用:得到某一值,并将此值加1
update a set @value = value, value = value+1 from tmpTable
【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
上一篇: Distinct的使用
下一篇: 字符串字段每一位上类型的判断