问题描述:
数据库中有两个用户:cms和oss,我要实现在cms用户下插入一条记录然后通过trigger同步插入到oss用户中的某个表中去,但是create trigger的时候总是报错,提示oss下的那个表或视图不存在。
问题原因:
这是由于oss用户的表没有对cms用户开放权限造成的。
解决方法:
在oss用户中执行如下语句,将该表权限开放给cms用户即可。
grant all on t_visitor_oss to cms;
附上我的trigger:
create or replace trigger trigger_t_visitor
after insert or update or delete on trigger_test
for each row
declare
-- local variables here
begin
if inserting then
insert into oss.t_visitor_oss
(visitorid, clientid, userid, dyjuid, usertype, loginflag, msisdn, channelnumber, createdate)
values(:NEW.visitorid, :NEW.clientid, :NEW.userid, :NEW.dyjuid, :NEW.usertype, :NEW.loginflag, :NEW.msisdn, :NEW.channelnumber, :NEW.createdate);
end if;
--if updating then
--end if;
--if deleting then
--end if;
end trigger_t_visitor;