Heim  >  Artikel  >  Datenbank  >  Oracle 手动刷新物化视图的问题

Oracle 手动刷新物化视图的问题

WBOY
WBOYOriginal
2016-06-07 17:06:272087Durchsuche

最近项目需要在单据成功提交后,手动刷新某一个物化视图。起初方案是,在表的After Update触发器调用dbms_refresh.refresh(

最近项目需要在单据成功提交后,手动刷新某一个物化视图。

起初方案是,在表的After Update触发器调用dbms_refresh.refresh('物化视图名称');测试发现报错。报错原因:通过dbms_refresh.refresh刷新物化视图时,默认有隐式的Commit事务提交。推测其Commit事务和触发器隐式Commit事务提交冲突,故报错。后修改为前台调用刷新时,,测试正常。PB前台测试代码如下:

DECLARE dbms_refresh Procedure FOR dbms_refresh.refresh('物化视图名称');

EXECUTE dbms_refresh;

close dbms_refresh ;

注释:dbms_refresh.refresh是dbms_refresh包的过程。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn