Oracle 跨用户表间数据操作(触发器实现)

两个用户分别有表
用户1:zxqyxm 表:jo_ftp
用户2:pediszxqy_sjk 表 :charttest
实现触发器 当表charttest插入数据或者更新时表jo_ftp数据插入;

首先对用户pediszxqy_sjk 权限
GRANT ALTER ON  zxqyxm.jo_ftp TO pediszxqy_sjk ;

GRANT DELETE ON  zxqyxm.jo_ftp TO pediszxqy_sjk ;

GRANT INDEX ON  zxqyxm.jo_ftp TO pediszxqy_sjk ;

GRANT INSERT ON  zxqyxm.jo_ftp TO pediszxqy_sjk ;

GRANT REFERENCES ON  zxqyxm.jo_ftp TO pediszxqy_sjk ;

GRANT SELECT ON   zxqyxm.jo_ftp TO pediszxqy_sjk ;

GRANT UPDATE ON   zxqyxm.jo_ftp TO pediszxqy_sjk ;

想跨用户访问序列也要复权;
grant select on zxqyxm.s_jo_user to syszxqy_sjk;
然后创建触发器
create or replace trigger testInsert
after insert or update on pediszxqy_sjk.charttest
for each row
begin
insert into zxqyxm.jo_ftp(FTP_ID,FTP_NAME,IP,PORT,ENCODING,URL) values(:new.id,:new.name,'1',21,'UTF-8','URL');
end ;
测试 向charttest 插入数据
完成

猜你喜欢

转载自z-lei0921.iteye.com/blog/2256672