Oracle触发器在表中插入新行时更新新的视图



有人可以帮助我在oracle表达式视图上写一个触发器x,该视图通过选择查询从另一个表y填充数据。

逻辑:在表y中插入新行之后;当表y中插入的行上的新列的值为" xyz"时,我想根据插入到表y的新行上的条件'xyz'来更新表达式视图x的某些列。

有人可以帮忙吗?

钱德拉

这就是我理解问题的方式(尽管通过阅读评论而不是"表达视图"使我感到困惑的问题(。

这将是基于触发的解决方案;它检查输入到A列中的值是否大于100(这是您的"如果条件"(;如果是这样,它将修改C和D列。如果没有,它无能为力。

SQL> create table test (a number, b number, c number, d number);
Table created.
SQL> create or replace trigger trg_bi_test
  2    before insert on test
  3    for each row
  4    when (new.a > 100)
  5  begin
  6    :new.c := 3;
  7    :new.d := 4;
  8  end;
  9  /
Trigger created.
SQL> insert into test (a) values (50);
1 row created.
SQL> insert into test (a) values (200);
1 row created.
SQL> select * from test;
         A          B          C          D
---------- ---------- ---------- ----------
        50
       200                     3          4
SQL>

相关内容

  • 没有找到相关文章