设为首页收藏本站
查看: 88|回复: 0

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

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2018-7-3 12:35:00 | 显示全部楼层 |阅读模式
    最近项目需要在单据成功提交后,手动刷新某一个物化视图。起初方案是,在表的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包的过程。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表