欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

数据库中两个用户user1停的table1和user2下的table2,当table1发生变化时table也得变化

更新时间: 2014-01-05 02:14:58 责任编辑: Author_N1

 

数据库中两个用户user1下的table1和user2下的table2,当table1发生变化时table也得变化
现有两张表,如下:
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处在不同用户下的表,是在同一台服务器上的数据库中。求各位大神指点,谢谢!!!
--参考方法--
为什么要弄的这么复杂, user2会不会insert/update/delete table2? 如果不会,那么为什么不直接在user2中建一个table1的视图?

如果非要建一个触发器,那么先在user2下给user1赋权即可。
grant all on table2 to user1;

--参考方法--
前两天刚给新员工做的触发器培训:
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');
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:58
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7549/
本文WWW.DOC100.NET DOC100.NET版权所有。