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

xu_521174 2013-07-24 02:16:18
现有两张表,如下:
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处在不同用户下的表,是在同一台服务器上的数据库中。求各位大神指点,谢谢!!!
...全文
141 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2013-08-01
  • 打赏
  • 举报
回复
前两天刚给新员工做的触发器培训: 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;
善若止水 2013-07-31
  • 打赏
  • 举报
回复
这是触发器的典型应用
积木 2013-07-31
  • 打赏
  • 举报
回复
啥玩意????视图解决不了?
xu_521174 2013-07-31
  • 打赏
  • 举报
回复
赋权是肯定的,因为我的user2下的table2中不止那些字段,只是想把table中的某些字段赋值给table2中的某些字段
huangdh12 2013-07-24
  • 打赏
  • 举报
回复
只要赋予权限了,就跟自己的表没什么区别了(另,我也觉得 视图合适。)
a597926661 2013-07-24
  • 打赏
  • 举报
回复
楼主还是去赋权吧 视图的话不能达到table1修改也修改table2的效果吧
shiyiwan 2013-07-24
  • 打赏
  • 举报
回复
为什么要弄的这么复杂, user2会不会insert/update/delete table2? 如果不会,那么为什么不直接在user2中建一个table1的视图? 如果非要建一个触发器,那么先在user2下给user1赋权即可。 grant all on table2 to user1;

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧