【问题标题】:How to insert data from another table after delete with trigger使用触发器删除后如何从另一个表中插入数据
【发布时间】:2019-05-21 13:33:30
【问题描述】:

我有一张表 employees 和一张我需要存储不再是员工的表。我需要使用触发器将删除的员工插入到该表中。

我试过这段代码,但不起作用

CREATE TRIGGER EX4
   ON  EMPLOYEES
   AFTER delete
AS 
BEGIN
insert into BAIXES
values(@ID, 'deleted')
END

这就是练习的内容(已翻译,因此可能存在翻译问题。

创建一个注册到前一个表的触发器,从表中删除的工作人员工作。必须保存工人的数据,以及变量 USER 和 SYSDATE。触发器必须在 DELETE 之后触发。

【问题讨论】:

  • @ID 应该是什么?

标签: sql oracle plsql triggers


【解决方案1】:

在 Oracle 中,我希望是这样的:

CREATE TRIGGER EX4
   ON  EMPLOYEES
   AFTER delete
AS 
BEGIN
    insert into BAIXES ( . . . )        -- list columns to insert here
        values (:old.?, :old.?, . . . );  -- list columns here with :old prefix
END;

【讨论】:

    【解决方案2】:

    你可以用这个命令来做:

    INSERT INTO BAIXES(ID, Field1, Field2, [others fields here])
    SELECT ID, Field1, Field2, [others fields here] FROM DELETED
    

    【讨论】:

    • 它必须是一个触发器。
    猜你喜欢
    • 2019-05-20
    • 2021-04-26
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    相关资源
    最近更新 更多