的顺序变量我有这种形式的更新声明:SQL 2000:在UPDATE语句和评估
declare @v as int
update tbl
set @v=tbl.a=(select sum(amount) from anothertable at where at.x = tbl.y),
tbl.b = @v/2
我想用一个变量的原因是为了避免使用子查询的两倍。问题是,我还没有找到任何引用说明这是安全的。第二次赋值(即tbl.b = @ v/2)总是在第一次赋值之后进行评估?
select声明的评估顺序不能保证。更新陈述也是如此吗?
非常感谢。
微软声称它显然是“选择”语句而不是更新语句。 你有关于更新声明的任何文档参考? – yioann 2010-09-01 05:22:52