有人可以帮助我在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>