这是我的创建触发器语句:
CREATE OR REPLACE TRIGGER time_of_inserts
AFTER INSERT ON t_workers
FOR EACH ROW
BEGIN
SELECT pk_workerid, sysdate archivetime
into t_logtable
from t_workers
END;
我想要的是,每次在t_workers
表中插入新行时,我都想插入一个新的主键(可以从1开始唯一,或者复制插入的数据),以及插入新表的时间( T_logTable
). 但是我不知道如何每次都将其插入到新表中。你可以在上面看到,到目前为止我已经想出了什么。
“我的主要问题是每次触发时插入新表”
但你不是在插入,你是在选择。要插入,您需要指定insert
关键字:)
此外,您不想从触发表中进行选择:改用 :NEW 命名空间。
CREATE OR REPLACE TRIGGER time_of_inserts
AFTER INSERT ON t_workers
FOR EACH ROW
BEGIN
insert into t_logtable
values (:new.pk_workerid , sysdate );
END;
为了消除明显的混淆,SELECT ... INTO 填充了一个本地 (PL/SQL) 变量。这不是我们用于插入表的语法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句