2017-06-13 85 views
1

我有物化視圖刷新命令,如執行dbms_mview.refresh('Table_Name','F'),並希望一起運行這些命令。物化視圖刷新從Informatica

我想使用PRESQL或POSTSQL從Informatica中刷新表。嘗試使用「;」分隔命令和「,」和「\;」那麼會話日誌也會顯示無效的SQL語句。我們使用oracle數據庫,並能夠在那裏成功運行這些命令。

是否可以在PRESQL中使用「執行dbms_mview.refresh('Table_Name','F')」刷新它們?有沒有其他的方式來做到這一點,比如在開始和結束時添加命令而不使用「執行」?

謝謝:)

****增加了一個有效的解決方案****

+0

爲什麼不使用配置爲運行預載的存儲過程轉變,那麼你可以把該過程中的所有物化視圖刷新命令 –

回答

0

是的,它是可能的,使用;作爲命令分隔符...

你可以使用一個命令(無分隔符)工作嗎? 查看會話日誌以查看正在執行的確切命令,並從sql工具運行該命令以從數據庫獲得更好(更快)的反饋。

希望這有助於

+1

我試着用「;」分隔執行它們它會在會話日誌中聲明無效的SQL語句。這些命令在SQL開發人員中工作正常。 –

1

這裏是爲我工作的解決方案:

begin 
dbms_mview.refresh('VIEW_1','F')\; 
dbms_mview.refresh('VIEW_2','F')\; 
end\;