您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQL UPDATE在设置之前读取列值

SQL UPDATE在设置之前读取列值

James R. Groff,Paul N. Weinberg:SQL完整参考(Osborne 1999),第209页

开始报价

如果分配列表中的表达式引用目标表的列之一,则用于计算该表达式的值 当前行中该列的值 。WHERE子句中出现的列引用也是如此。例如,考虑以下(有些人为设计的)UPDATE语句:

UPDATE OFFICES
 SET QUOTA = 400000.00, SALES = QUOTA
WHERE QUOTA < 400000.00

在更新之前,Bill Adams的QUOTA身价为$ 350,000,SALES价值为$ 367,911。更新后,他的行的SALES价值为$ 350,000,而不是$ 400,000。因此,SET子句中的分配顺序无关紧要;可以按任何顺序指定分配。

结束语

ansi-92sql标准(X3H2-93-004)草案的第13.9章第6页第393页对此提供了支持,可在此处找到。

到目前为止,这是最独立于实现的,也是我能得到的最接近的。

SQLServer 2022/1/1 18:53:15 有605人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶