我有命令的表,我想更改爲「已過期」命令的狀態,如果這種狀態並沒有在30分鐘如何在創建表格後更新表格中的列?
更新變成別的東西: 我希望這種情況發生,每30分鐘,我不能做任何事情。數據庫會自行更新,如果在30分鐘內沒有處理此命令,則將任何命令的狀態更改爲「已過期」
我有命令的表,我想更改爲「已過期」命令的狀態,如果這種狀態並沒有在30分鐘如何在創建表格後更新表格中的列?
更新變成別的東西: 我希望這種情況發生,每30分鐘,我不能做任何事情。數據庫會自行更新,如果在30分鐘內沒有處理此命令,則將任何命令的狀態更改爲「已過期」
不要這樣做!而是使用視圖或計算列。
因此,保持最新的更新日期。這應該很容易,因爲無論如何你都在修改表格。
然後,可以計算過期爲:
create view v_t as
select t.*,
(case when status_update_dt < CURRENT_DATETIME - interval '30 minute'
then 'expired'
else status
end) as new_status
from t;
當然,日期/時間函數取決於在數據庫上(上面是ANSI語法)。而且,有些數據庫支持將定義直接放在表中的計算列。這非常方便,因爲您不必更改數據;它只是在您查詢數據時起作用。
'UPDATE key SET value =「expired」WHERE condition',就像我可以給你的儘可能多的你給我們的。投票結果太寬泛,完全缺乏背景。 –
我刪除了不兼容的數據庫標籤。請添加一個標籤,指定您真正使用的數據庫。 –
你正在使用哪些DBMS?語法不會相同。沒有一些表格定義和清晰度,目前不能回答。 –