使用结果集使用计算值更新所选的同一表

Luu*_*nen 3 sql stored-procedures

我是 sql(脚本)新手。单个 CRUD 命令没有问题,但我正在尝试创建一个存储过程,它将使用同一选定表的结果更新具有计算值的表。

表中包含每个员工的总休假时间值和去年剩余休假时间值。

我将努力实现的目标是将今年的新时间添加到剩余时间中。有一个问题。新的小时数列以整小时为单位,剩余时间是以“滴答”为单位的值,即一百纳秒。

如何使用同一个表作为此计算的参考来更新表?

example table:
employee, vacation, remainingvacation

new value of remainigvacation = vacation(in hours) * 60(minutes) * 60(seconds) * 10^9 (to convert to ticks) + remainingvacation (in ticks)
Run Code Online (Sandbox Code Playgroud)

Mat*_*lie 7

UPDATE
  myTable
SET
  remainingvacation = (vacation * 60 * 60 * POWER(10, 9)) + remainingvacation
Run Code Online (Sandbox Code Playgroud)

然后,您可以在包含 JOINS 和 WHERE 子句后执行相同的操作...

UPDATE
  myTable
SET
  remainingvacation = (vacation * 60 * 60 * POWER(10, 9)) + remainingvacation
FROM
  myTable
INNER JOIN
  yourTable
    ON myTable.id = yourTable.id
WHERE
  yourTable.value = 'Egyptian Holidays'
Run Code Online (Sandbox Code Playgroud)