oracle trigger跨使用者報錯

2021-08-31 14:05:33 字數 945 閱讀 8543

問題描述:

資料庫中有兩個使用者: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;

Oracle Trigger編寫語法

觸發器是我們在開發過程中經常使用的,在此記錄一下編寫語法要求 行級觸發器 語句級觸發器 create or replace trigger trigger name after before insert update delete of column on schema.table name fo...

Oracle Trigger簡單用法

1.trigger 是自動提交的,不用commit,rollback 2.trigger最大為32k,如果有複雜的應用可以通過在trigger裡呼叫procedure或function來實現。3.語法 create or replace trigger on declare begin except...

用serveResource解決跨域訪問問題

簡介 眾所周知,跨域問題是十分常見的需求,比如讓客戶端的ext js控制項可以渲染來自伺服器端的json物件。我們可以用很多很多方法來解決,比如jsonp.但是,在liferay中,我們可以用serveresource方法來優雅的解決跨域訪問問題。白板分析 以下是摘自我在技術討論會上的白板 解決方法...