前段時間接觸了oracle,學了一點知識,整理一下,希望給碰到同樣問題朋友一個幫助,自己也留下一點記憶,赫赫
?
1. 使用sys用戶對mysysuser 和 commonuser 授權,使用plsql工具實現的;
????????? 建議mysysuser用戶權限是dba ,connection ,resource
2? 使用mysysuser用戶登錄到xxxxx數據庫,創建n_bj_applyorder 和?n_bj_crew 兩個表 ,插入所提供的數據
3? 創建物理視圖基于這兩個表如下:
???
CREATE MATERIALIZED VIEW LOG ON mysysuser.n_bj_applyorder ?WITH ROWID including NEW VALUES ;
CREATE MATERIALIZED VIEW LOG ON mysysuser.n_bj_crew? WITH ROWID including NEW VALUES ;
CREATE MATERIALIZED VIEW LOG ON mysysuser.n_bj_applyorder ?WITH ROWID including NEW VALUES ;
CREATE MATERIALIZED VIEW LOG ON mysysuser.n_bj_crew? WITH ROWID including NEW VALUES ;
CREATE MATERIALIZED VIEW mysysuser.crew_applyorder_mv
build immediate
REFRESH fast on commit
?AS
?SELECT a.rowid a_rowid,b.Rowid b_rowid, a.applyorderid,b.CREWID
?FROM mysysuser.n_bj_applyorder a, mysysuser.n_bj_crew b
?where a.applyorderid = b.applyorderid;
REFRESH fast on commit
?AS
?SELECT a.rowid a_rowid,b.Rowid b_rowid, a.applyorderid,b.CREWID
?FROM mysysuser.n_bj_applyorder a, mysysuser.n_bj_crew b
?where a.applyorderid = b.applyorderid;
查詢所創建的物理視圖數據,存在數據,這時可以測試插入物理視圖,看原表是否有變化及原表有變化是否物理視圖有變化等
4? 創建同義詞對該物理視圖:
create synonym
commonuser.syn_crew_applyorder for mysysuser.crew_applyorder_mv
這樣程序中就可以使用同義詞或者物理視圖了去操作表了。我在解決這些技術問題時,是因為工作要求才這么做的,其中也遇到了一些問題,如用戶權限問題導致同義詞不能操作數據,原表不能插入數據,創建物理視圖不能使用inner join 連接等等
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
