建物化视图的时候许多步骤不明白,有哪位高手能给以完整过程!!!

解决方案 »

  1.   

    给你找个外援http://www.sqlclub.cn/Develop/2009-03/576_2.htm
      

  2.   

    以下步骤供参考:
    ----1、建立表日志 TGL_ACCOUNTGROUPS_SUB
      SELECT COUNT(TABLE_NAME) INTO V_MVLOGCOUNT FROM USER_TABLES WHERE TABLE_NAME='TGL_VOUCHER_MAINS' || V_TABLECODE ;
      IF V_MVLOGCOUNT > 0 THEN
       V_SQL :='DROP TABLE ' ;
       EXECUTE IMMEDIATE V_SQL;
      END IF;
      V_SQL :='CREATE MATERIALIZED VIEW log on TGL_ACCOUNTGROUPS_SUB with rowid';
      EXECUTE IMMEDIATE V_SQL;
    2、建立物化视图 MV_TGL_ACCOUNTGROUPS
      SELECT COUNT(*) INTO V_MVCOUNT FROM USER_MVIEWS WHERE MVIEW_NAME='MV_TGL_ACCOUNTGROUPS';
      IF V_MVCOUNT > 0 THEN
       V_SQL :='DROP MATERIALIZED VIEW MV_TGL_ACCOUNTGROUPS';
       EXECUTE IMMEDIATE V_SQL;
      END IF;
      V_SQL :='CREATE MATERIALIZED VIEW MV_TGL_ACCOUNTGROUPS'
    ||' REFRESH complete' 
    ||' AS'     
        ||' SELECT A.UQACCOUNTID,'
        ||' A.VARCODE VARACCOUNTCODE,'
        ||' A.VARNAME VARACCOUNTNAME,'
        ||' SUB.INTLEVEL + 1 INTACCOUNTLEVEL,'
        ||' SUB.UQACCOUNTSETID,'
        ||' SUB.VARFORMATCODE,'
        ||' A.ROWID AID,'
        ||' SUB.ROWID SUBID'
        ||' FROM TGL_ACCOUNTS A,'
        ||' TGL_ACCOUNTGROUPS_SUB SUB'              
        ||' WHERE A.UQACCOUNTGROUPID = SUB.UQACCOUNTGROUPID';
       EXECUTE IMMEDIATE V_SQL;