RM新时代国际平台

  • <div id="r605l"></div>
      1. <th id="r605l"></th>
      2. Oracle 分區(qū)表的 FOR 語(yǔ)句,你這樣用過(guò)嗎?

        作者:楊廷琨

        原文鏈接:

        https://www.modb.pro/db/15418

        在11g以后,Oracle簡(jiǎn)化了指定分區(qū)的方式,不再需要明確指定分區(qū)名稱,而是可以通過(guò)指定分區(qū)鍵值列數(shù)據(jù)的方式來(lái)指向?qū)?yīng)的分區(qū)。

        指定一個(gè)分區(qū)除了使用分區(qū)名稱外,很多時(shí)候還可以使用FOR語(yǔ)句。從11g開始,對(duì)分區(qū)進(jìn)行操作的時(shí)候,不僅可以使用分區(qū)名稱,還可以使用FOR語(yǔ)句。

        在10g中,MERGE RANGE分區(qū)的語(yǔ)句如下:

        而在11g中,除了使用分區(qū)名稱外,還可以使用FOR語(yǔ)句來(lái)代替,比如:

        這種語(yǔ)法的優(yōu)勢(shì)對(duì)于范圍分區(qū)還不是很明顯,而對(duì)于INTERVAL分區(qū)就十分有意義了。由于INTERVAL分區(qū)的分區(qū)名稱是系統(tǒng)產(chǎn)生的,用戶對(duì)INTERVAL分區(qū)最直觀的莫過(guò)于存在分區(qū)中的數(shù)據(jù)的范圍,根據(jù)分區(qū)的定義和INTERVAL的設(shè)置很容易可以確定分區(qū)的范圍和其中的數(shù)據(jù),但是分區(qū)的名稱就必須通過(guò)數(shù)據(jù)字典才能查詢得到。

        一個(gè)INTERVAL分區(qū)的簡(jiǎn)單的例子:

        繼續(xù)上面的例子:

        下面打算通過(guò)FOR語(yǔ)句的方式合并P2和P3分區(qū):

        根據(jù)錯(cuò)誤文檔的描述,感覺是分區(qū)鍵值指定出現(xiàn)了錯(cuò)誤,查詢分區(qū)信息:

        難道是分區(qū)鍵值指定有問題:

        最終發(fā)現(xiàn)了問題所在,F(xiàn)OR語(yǔ)句中指定的并不是分區(qū)定義時(shí)使用的值,而是存儲(chǔ)在當(dāng)前分區(qū)中的值:

        因此Oracle并非根據(jù)分區(qū)定義來(lái)判斷分區(qū),而是根據(jù)用戶給出的值,來(lái)判斷所屬分區(qū),所以,P1分區(qū)和SYS_P78分區(qū)的合并完全可以寫成:

        由于FOR語(yǔ)句的這種特性,使得HASH分區(qū)也可以使用這個(gè)特性:

        這個(gè)例子對(duì)包含ID為6的分區(qū)進(jìn)行了MOVE操作,而且甚至不需要指定的ID存在。

        最后給一個(gè)簡(jiǎn)單的LIST分區(qū)的SPLIT的例子:

        想了解更多關(guān)于數(shù)據(jù)庫(kù)、云技術(shù)的內(nèi)容嗎?

        快來(lái)關(guān)注“數(shù)據(jù)和云"、"云和恩墨,"公眾號(hào)及"云和恩墨"官方網(wǎng)站,我們期待大家一同學(xué)習(xí)與進(jìn)步!

        小程序”DBASK“在線問答,隨時(shí)解惑,歡迎了解和關(guān)注!


        下一篇:Oracle 發(fā)力 MySQL,MariaDB 成功上市,大規(guī)模融資銳減
        RM新时代国际平台
      3. <div id="r605l"></div>
          1. <th id="r605l"></th>
          2. <div id="r605l"></div>
              1. <th id="r605l"></th>
              2. 新时代RM|国际平台 新时代软件下载 RM新时代官网网址 rm新时代是正规平台 新时代rm平台入口