现有两张表,如下:
user1下的table1
create table table1
字段1 VARCHAR2(255) pk,
字段2 VARCHAR2(255),
字段3 VARCHAR2(255),
字段4 VARCHAR2(255),
字段5 VARCHAR2(255)
)
和user2下的table2
create table table2
字段6 VARCHAR2(255) pk,
字段7 VARCHAR2(255),
字段8 VARCHAR2(255),
字段9 VARCHAR2(255),
字段10 VARCHAR2(255)
)
现在我想创建一个触发器,
(1)当user1下的table1中新增了数据,那么在user2下的table2也同时增加一条数据,让table2的字段6等于table1的字段1.....
(2)当table1修改了,某条数据,table2中也得修改前提是:table1和table2处在不同用户下的表,是在同一台服务器上的数据库中。求各位大神指点,谢谢!!!数据库
user1下的table1
create table table1
字段1 VARCHAR2(255) pk,
字段2 VARCHAR2(255),
字段3 VARCHAR2(255),
字段4 VARCHAR2(255),
字段5 VARCHAR2(255)
)
和user2下的table2
create table table2
字段6 VARCHAR2(255) pk,
字段7 VARCHAR2(255),
字段8 VARCHAR2(255),
字段9 VARCHAR2(255),
字段10 VARCHAR2(255)
)
现在我想创建一个触发器,
(1)当user1下的table1中新增了数据,那么在user2下的table2也同时增加一条数据,让table2的字段6等于table1的字段1.....
(2)当table1修改了,某条数据,table2中也得修改前提是:table1和table2处在不同用户下的表,是在同一台服务器上的数据库中。求各位大神指点,谢谢!!!数据库
grant all on table2 to user1;
视图的话不能达到table1修改也修改table2的效果吧
create or replace trigger tri_a14dml
after insert or update or delete on a1
for each row
/* when (old.id > 1)*/
declare
begin
if updating('name') then
insert into a1_copy
values
(:new.id, :new.name, :old.id, :old.name, 'update');
elsif deleting then
insert into a1_copy values (null, null, :old.id, :old.name, 'delete');
else
insert into a1_copy values (:new.id, :new.name, null, null, 'insert');
end if;
end tri_a14dml;