相关疑难解决方法(0)

插入或删除后的Oracle触发器

对不起我的英语不好.

我有2张桌子:

Table1
id
table2_id
num
modification_date 
Run Code Online (Sandbox Code Playgroud)

Table2
id
table2num
Run Code Online (Sandbox Code Playgroud)

我想打一个触发器,它插入或删除操作后在Table1更新的最后一个值numTable2.table1lastnum.

我的触发器:

CREATE OR REPLACE TRIGGER TABLE1_NUM_TRG
  AFTER INSERT OR DELETE ON table1
  FOR EACH ROW
BEGIN
  IF INSERTING then

  UPDATE table2
  SET    table2num = :new.num
  WHERE  table2.id = :new.table2_id;

  ELSE

  UPDATE table2
  SET    table2num = (SELECT num FROM  (SELECT num FROM table1 WHERE table2_id = :old.table2_id ORDER BY modification_date DESC) WHERE ROWNUM <= 1)
  WHERE  table2.id = :old.table2_id;

  END IF;

END TABLE1_NUM_TRG; …
Run Code Online (Sandbox Code Playgroud)

oracle triggers oracle11g

4
推荐指数
1
解决办法
5891
查看次数

标签 统计

oracle ×1

oracle11g ×1

triggers ×1