【问题标题】:T-SQL in one query, compare values and update on condition一次查询中的 T-SQL,比较值并根据条件更新
【发布时间】:2013-10-16 21:59:25
【问题描述】:

比如我查询数据库,

SELECT SALARY, WEEKLY_HOURS FROM EMPLOYEE WHERE EMP_ID = 999

然后我将 SALARY 和 WEEKLY_HOURS 与局部变量进行比较。如果我的本地值不同,我会运行更新查询:

UPDATE EMPLOYEE SET SALARY = 255, WEEKLY_HOURS = 72 WHERE EMP_ID = 999

如果值没有差异,我会跳过更新查询。

所以我的问题是,我是否能够在没有存储过程的情况下在一个查询中进行比较和更新?只是想节省一次往返。

谢谢。

【问题讨论】:

标签: tsql


【解决方案1】:
update e
set
 e.Salary = 255
 , e.Weekly_Hours = 72
from
 Employee e
where
 e.Emp_ID = 999
 and (
   e.Salary <> 255 or
   e.Weekly_Hours <> 72 )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多