gpt4 book ai didi

sql - 插入后为当前时间戳更新创建触发器

转载 作者:行者123 更新时间:2023-12-05 04:05:26 24 4
gpt4 key购买 nike

我正在尝试通过以下方式创建存档。创建了我要从中存档的表的副本,并添加了一个名为 DATA_PERIOD 的列。我的想法是创建一个触发器,在用原始表中的数据插入该表后,DATA_PERIOD 将更新为 current_timestamp。这是我写的代码。

CREATE TRIGGER ORDERS_SUMMARY_ARCHIVE
AFTER INSERT ON GDTS.ORDERS_SUMMARY_A
FOR EACH ROW
WHEN (DATA_PERIOD IS NULL)
UPDATE GDTS.ORDERS_SUMMARY_A SET DATA_PERIOD = CURRENT_TIMESTAMP

所以当表被填充时,时间戳被插入。

不确定是否有更好的方法来做到这一点。我在一本知识书中找到了这个陈述,并试图根据我的需要对其进行调整,但没有成功。

"DATA_PERIOD" is not valid in the context where it is used.. SQLCODE=-206, SQLSTATE=42703, DRIVER=3.68.61

我是否需要某种对条件表的引用?

谢谢

最佳答案

我认为您需要一个 before 插入触发器。如果我的 DB2 语法正确:

CREATE TRIGGER ORDERS_SUMMARY_ARCHIVE BEFORE INSERT ON GDTS.ORDERS_SUMMARY_A
FOR EACH ROW WHEN (DATA_PERIOD IS NULL)
SET DATA_PERIOD = CURRENT_TIMESTAMP;

关于sql - 插入后为当前时间戳更新创建触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51199975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com