1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      在Oracle10g中如何使用包DBMS_ADVANCED_REWRITE實(shí)現(xiàn)新的查詢重寫功能

      小編給大家分享一下在Oracle10g中如何使用包DBMS_ADVANCED_REWRITE實(shí)現(xiàn)新的查詢重寫功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

      天津ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

      從Oracle10g版本1開始,提供了新的包DBMS_ADVANCED_REWRITE來(lái)實(shí)現(xiàn)查詢重寫。它允許你截獲特定的SQL語(yǔ)句,并將
      其重定義為另一個(gè)SQL語(yǔ)句。下面是一個(gè)簡(jiǎn)單的例子:

      1、確認(rèn)測(cè)試用戶有必要的權(quán)限去運(yùn)行

      CONN sys/password AS SYSDBA
       
       GRANT EXECUTE ON DBMS_ADVANCED_REWRITE TO test;
       GRANT CREATE MATERIALIZED VIEW TO test;

      [@more@]

      2、創(chuàng)建測(cè)試用表

      CONN test/test
       
       DROP TABLE rewrite_test_tab;
       
       CREATE TABLE rewrite_test_tab (
         id           NUMBER,
         description  VARCHAR2(50),
         CONSTRAINT rewrite_test_tab_pk PRIMARY KEY (id)
       );
       
       INSERT INTO rewrite_test_tab (id, description) VALUES (1, 'GLASGOW');
       INSERT INTO rewrite_test_tab (id, description) VALUES (2, 'BIRMINGHAM');
       INSERT INTO rewrite_test_tab (id, description) VALUES (3, 'LONDON');
       COMMIT;
       
       EXEC DBMS_STATS.gather_table_stats(USER, 'rewrite_test_tab');

      3、查詢測(cè)試表

      SELECT * FROM rewrite_test_tab;
       
               ID DESCRIPTION
       ---------- --------------------------------------------------
                1 GLASGOW
                2 BIRMINGHAM
                3 LONDON
       
       3 rows selected.
       
       SQL>

      4、創(chuàng)建要替換成的SQL使用的視圖,然后將上面的語(yǔ)句重定義為查詢這個(gè)視圖

      CREATE OR REPLACE VIEW rewrite_test_tab_v AS
       SELECT id,
              INITCAP(description) AS description
       FROM   rewrite_test_tab
       ORDER BY description;
       
       BEGIN
         SYS.DBMS_ADVANCED_REWRITE.declare_rewrite_equivalence (
            name             => 'test_rewrite',
            source_stmt      => 'SELECT * FROM rewrite_test_tab',
            destination_stmt => 'SELECT * FROM rewrite_test_tab_v',
            validate         => FALSE,
            rewrite_mode     => 'TEXT_MATCH');
       END;
       /

      5、初始化參數(shù)QUERY_REWRITE_INTEGRITY缺省值為"enforced",意味只有原始語(yǔ)句的輸出和替換后語(yǔ)句的輸出完全
        一致才會(huì)進(jìn)行重寫替換。而我們要實(shí)現(xiàn)替換后的輸出跟原始輸出是有差別的,所以需要將這個(gè)參數(shù)的值修改為
        "TRUSTED"才行。

      ALTER SESSION SET QUERY_REWRITE_INTEGRITY = TRUSTED;
       
       Session altered.
       
       SELECT * FROM rewrite_test_tab;
       
               ID DESCRIPTION
       ---------- --------------------------------------------------
                2 Birmingham
                1 Glasgow
                3 London
       
       3 rows selected.
       
       SQL>

      6、視圖[USER|ALL|DBA]_REWRITE_EQUIVALENCES中有這些重定義查詢的相關(guān)信息

      SELECT * FROM user_rewrite_equivalences;
       
       OWNER                          NAME
       ------------------------------ ------------------------------
       SOURCE_STMT
       --------------------------------------------------------------------------------
       DESTINATION_STMT                                                                 REWRITE_MO
       -------------------------------------------------------------------------------- ----------
       TEST                           TEST_REWRITE
       SELECT * FROM rewrite_test_tab
       SELECT * FROM rewrite_test_tab_v                                                 TEXT_MATCH
       
       
       1 row selected.
       
       SQL>

      看完了這篇文章,相信你對(duì)“在Oracle10g中如何使用包DBMS_ADVANCED_REWRITE實(shí)現(xiàn)新的查詢重寫功能”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


      文章名稱:在Oracle10g中如何使用包DBMS_ADVANCED_REWRITE實(shí)現(xiàn)新的查詢重寫功能
      鏈接URL:http://www.ef60e0e.cn/article/jdjopp.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        黄冈市| 绥芬河市| 胶南市| 马边| 大英县| 全椒县| 寻乌县| 南溪县| 宕昌县| 丹东市| 建阳市| 石门县| 涪陵区| 界首市| 绥化市| 缙云县| 专栏| 崇义县| 松滋市| 任丘市| 永州市| 米泉市| 综艺| 榆社县| 梨树县| 集贤县| 图片| 亳州市| 从江县| 泗阳县| 宁国市| 乐至县| 双牌县| 增城市| 军事| 卢氏县| 安多县| 许昌县| 峡江县| 长顺县| 板桥市|