当列的值在一个表中更改时,应在oracle DB的其他表中插入记录

时间:2013-10-11 07:31:52

标签: sql oracle function procedure

我想要一个SQL过程/函数来解决下面提到的问题:

我有2个表 - 表A和表B.

  • 表A有3列 - 名称,编号和标记。
  • 表B有2列 - 名称和编号。

当表A中的标志列值发生变化时,应在表B中插入一条记录,其中包含与表A中相同的名称和编号值。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用触发器实现此目的。

Triggers are procedures that are stored in the database and are implicitly run, or fired, when something happens

您可以编写在任何时候触发的触发器,并对特定的表或视图执行INSERT,UPDATE或DELETE操作。

一般语法:

CREATE TRIGGER WRITE_TRIGGER_NAME_HERE
  BEFORE UPDATE ON TABLE_A
  FOR EACH ROW
BEGIN
  WRITE_INSERT_STATEMENT_HERE_FOR_TABLE_B
END;