Jcat
          寵辱不驚,閑看庭前花開花落~~
          posts - 173,comments - 67,trackbacks - 0
          --創(chuàng)建一個(gè)分區(qū)表
          create table scott.testpart
          (
          ?? ?TEXTDATE?? VARCHAR2(8)
          )
          partition by range ( TEXTDATE )
          (
          ?? ? partition p1 values less than ('20090201'),
          ??? ?partition "p2" values less than ('20090301'), --注意這里的雙引號(hào)
          ?? ? partition pm values less than (MAXVALUE) ?
          )


          --插入一些數(shù)據(jù)(順便實(shí)踐一下雙層循環(huán))

          DECLARE
          ?? ?i int:=1;
          ?? ?j int:=1;
          BEGIN
          ? ??? ?WHILE i<=3 LOOP
          ?? ??? ???? WHILE j<=3 LOOP
          ?? ??? ??? ???? insert into scott.testpart values (2009*10000+i*100+j);
          ???? ??? ??? ?? j:=j+1;
          ?? ??? ???? END LOOP;???? ??? ?
          ?? ???? i:=i+1;?? ?
          ?? ???? j:=1; --注意要重置j,否則就回不到j(luò)循環(huán)里面了
          ?? ???? END LOOP;
          END;


          --需要先進(jìn)行分析,否則num_rows列將為空
          analyze table scott.testpart compute statistics;

          --查看各個(gè)分區(qū)的情況
          select table_name, partition_name, num_rows from DBA_TAB_PARTITIONS
          where table_owner='SCOTT' and table_name='TESTPART';
          TABLE_NAME??????????????? PARTITION_NAME?????????? NUM_ROWS
          -------------------------- ------------------------------ ----------
          TESTPART?????????????????????? P1?????????????????????????????????? ? ?? ?? ?? 3
          TESTPART?????????????????????? PM????????????????????????????????? ? ? ?? ?? 3
          TESTPART?????????????????????? p2?????????????????????????????????????? ? ? ? 3
          注意p2因?yàn)榧恿艘?hào)仍然是小寫(但并不顯示引號(hào),這點(diǎn)比較討厭),沒加引號(hào)的會(huì)顯示為大寫


          --驗(yàn)證數(shù)據(jù)確實(shí)進(jìn)入了正確的分區(qū)
          select * from scott.testpart partition(p1);
          TEXTDATE
          --------
          20090101
          20090102
          20090103

          --創(chuàng)建p2時(shí)有引號(hào),使用p2時(shí)也就需要引號(hào)。
          --特別的,用一些第三方客戶端創(chuàng)建分區(qū)表時(shí),生成的SQL往往會(huì)自動(dòng)加上引號(hào),而查看DBA_TAB_PARTITIONS時(shí)又看不出來,所以遇到下面的問題,可以加個(gè)引號(hào)試試。
          select * from scott.testpart partition(p2);
          ERROR at line 1:
          ORA-02149: Specified partition does not exist

          select * from scott.testpart partition("p2");
          TEXTDATE
          --------
          20090201
          20090202
          20090203


          --其它相關(guān)
          select * from scott.testpart;
          truncate table scott.testpart;
          drop table scott.testpart;

          posted on 2009-08-18 18:17 Jcat 閱讀(274) 評(píng)論(0)  編輯  收藏 所屬分類: Database
          主站蜘蛛池模板: 卢湾区| 潞西市| 涪陵区| 灵武市| 古蔺县| 卫辉市| 桓仁| 余干县| 江城| 廊坊市| 宜兴市| 舒城县| 政和县| 和龙市| 临湘市| 贵阳市| 金堂县| 大英县| 大渡口区| 靖安县| 营口市| 琼中| 那曲县| 崇州市| 安庆市| 北安市| 正安县| 新沂市| 普安县| 宝坻区| 南宁市| 搜索| 正阳县| 宕昌县| 大冶市| 陆河县| 惠东县| 从江县| 施秉县| 贵港市| 长宁县|