我正在更新另一個表中的Oracle表,然後需要使用sysdate爲所有已更新的行更新date_modified字段。我的代碼目前看起來像這樣:如何在更新另一行後用sysdate更新date_modified?
UPDATE
table1 t1
SET
field1 = (SELECT t2.value
FROM table2 t2
WHERE t1.r_id = t2.r_id
AND t2.other in (2,3,4))
WHERE EXISTS (
SELECT 1
FROM table2 t2
WHERE t1.r_id = t2.r_id
AND t2.value IS NOT NULL);
如何添加將date_modified更新到sysdate的命令?我試過了第二個更新命令,但這是更新整個表。當我嘗試添加條款,如:
set
date_modified = sysdate (WHERE t2.value IS NOT NULL
AND t2.other in (2,3,4))
這似乎無法引用T2和完整的表名寫也不行。
這是可能的SQL?我知道我不能在更新語句中使用JOIN,我不確定是否有其他規則阻止我這樣做。
感謝
我建議爲此使用觸發器。 –