婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > oracle存儲過程創(chuàng)建表分區(qū)實例

oracle存儲過程創(chuàng)建表分區(qū)實例

熱門標簽:征服眼公司地圖標注 阿爾巴尼亞地圖標注app 征服者火車站地圖標注 開封智能外呼系統(tǒng)廠家 百度地圖標注素材 人工智能地圖標注自己能做嗎 word地圖標注方向 外呼線路外顯本地號碼 美圖秀秀地圖標注

用存儲過程創(chuàng)建數(shù)據(jù)表:
創(chuàng)建時注意必須添加authid current_user,如果創(chuàng)建的表已存在,存儲過程繼續(xù)執(zhí)行,但如不不加此關(guān)鍵語句,存儲過程將出現(xiàn)異常,
這個語句相當于賦權(quán)限。
例1
創(chuàng)建語句如下:

復制代碼 代碼如下:

create or replace
procedure sp_create_mnl(i_id varchar2) authid current_user  as
  /*********************************
名稱:sp_create_mnl
功能描述:創(chuàng)建模擬量歷史數(shù)據(jù)存儲表

修訂記錄:
版本號   編輯時間  編輯人  修改描述
1.0.0    2012-9-20 wylaok  1.創(chuàng)建此存儲過程
1.0.1    2012-9-21 wylaok  2.修改表名稱及變量名稱,增加必要注釋

入?yún)⒊鰠⒚枋觯?
i_id 測點編號
**********************************/
      v_tablename varchar2(30);--表名
      v_flag number(10,0);
      v_sqlfalg varchar(200);
begin
  v_flag:=0;
      v_tablename:=CONCAT('MNL', UPPER(i_id));
      v_sqlfalg:='select count(*) from user_TABLES where table_name='''||v_tablename||'''';
      dbms_output.put_line(v_sqlfalg);
      execute immediate v_sqlfalg into v_flag;
      if v_flag=0 then  --如果沒有這個表 則去創(chuàng)建
         begin
  execute immediate 'create table '||v_tablename ||'
  ( DATETIME DATE,
  MIN00    FLOAT,
  AGV00    FLOAT,
  MAX00    FLOAT,
  MIN05    FLOAT,
  AVG05    FLOAT,
  MAX05    FLOAT,
  MIN10    FLOAT,
  AGV10    FLOAT,
  MAX10    FLOAT,
  MIN15    FLOAT,
  AGV15    FLOAT,
  MAX15    FLOAT,
  MIN20    FLOAT,
  AGV20    FLOAT,
  MAX20    FLOAT,
  MIN25    FLOAT,
  AGV25    FLOAT,
  MAX25    FLOAT,
  MIN30    FLOAT,
  AGV30    FLOAT,
  MAX30    FLOAT,
  MIN35    FLOAT,
  AGV35    FLOAT,
  MAX35    FLOAT,
  MIN40    FLOAT,
  AGV40    FLOAT,
  MAX40    FLOAT,
  MIN45    FLOAT,
  AGV45    FLOAT,
  MAX45    FLOAT,
  MIN50    FLOAT,
  AGV50    FLOAT,
  MAX50    FLOAT,
  MIN55    FLOAT,
  AGV55    FLOAT,
  MAX55    FLOAT,
  MINV     FLOAT,
  MAXV     FLOAT,
  AVGV     FLOAT,
  MAXTIME  DATE,
  MINTIME  DATE
  )
  tablespace WYG
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 512K
    next 512K
    minextents 1
    maxextents unlimited
    pctincrease 0
  )';
  --    execute immediate sqlstr;
         end;
      end if;
      end;

調(diào)用此存儲過程:
復制代碼 代碼如下:

begin
  createmnl('mnl_14');
  end;

例2
復制代碼 代碼如下:

CREATE OR REPLACE PROCEDURE BIP_MMS_PARTITION_PROC AS

  v_Mms_Task_Tab    VARCHAR2(50); --表名
  v_Mms_Content_Tab VARCHAR2(50);
  v_Mms_User_Tab    VARCHAR2(50);
  v_TableSpace      VARCHAR2(20); --表空間
  v_PartPreFlag     VARCHAR2(50); --分區(qū)名標識
  v_SqlCursor       NUMBER; --游標
  v_SqlExec         VARCHAR2(2000); --執(zhí)行語句
  v_PartPreDate     VARCHAR2(20); --分區(qū)日期
  v_RangeValue      NUMBER;
  v_RangeDate       NUMBER;
  v_Rows            NUMBER(30) := 0;
  v_Num             NUMBER(30) := 0;
  vErrInfo          VARCHAR2(200);
  p_DateFrom        NUMBER;
  p_PartNum         NUMBER;
  p_Range           NUMBER;
BEGIN

  v_Mms_Task_Tab    := 'BIP_MMS_MT_TASK_LOG_TAB_TEST';
  v_Mms_Content_Tab := 'BIP_MMS_MT_CONTENT_TAB_TEST';
  v_Mms_User_Tab    := 'BIP_MMS_MT_USER_LOG_TAB_TEST';
  -- 讀取配置參數(shù)
  BEGIN
    SELECT TO_NUMBER(VALUE)
      INTO p_DateFrom
      FROM BIP_OTHERS_PROPERTIES_TAB
     WHERE NAME = 'p_DateFrom';
    SELECT TO_NUMBER(VALUE)
      INTO p_PartNum
      FROM BIP_OTHERS_PROPERTIES_TAB
     WHERE NAME = 'p_PartNum';
    SELECT TO_NUMBER(VALUE)
      INTO p_Range
      FROM BIP_OTHERS_PROPERTIES_TAB
     WHERE NAME = 'p_Range';
  EXCEPTION
    WHEN OTHERS THEN
      BEGIN
        p_DateFrom := 0;
        p_PartNum  := 1;
        p_Range    := 180;
      END;
  END;
  --記錄存儲過程添加分區(qū)
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
  VALUES
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
     'BIP_MMS_PARTITION_PROC_ADD',
     'BEGIN');
  COMMIT;
  --ADD PARTITION 
  FOR i IN 1 .. p_PartNum LOOP
    --BIP_MMS_MT_CONTENT_TAB 添加分區(qū)
    v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
    dbms_output.put_line(v_PartPreDate);
    v_Num         := 0;
    v_TableSpace  := 'BIP_MMS_TS_TEST';
    v_PartPreFlag := 'MMS_MT_CONTENT';
    SELECT COUNT(*)
      INTO v_Num
      FROM user_tab_partitions
     WHERE table_name = v_Mms_Content_Tab
       AND SUBSTR(partition_name, 16, 8) = v_PartPreDate;
    IF v_Num 1 THEN
      v_RangeDate  := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
      v_RangeValue := v_RangeDate || '240000';
      dbms_output.put_line(v_RangeValue);
      v_SqlExec := 'ALTER TABLE ' || v_Mms_Content_Tab || ' ADD PARTITION ' ||
                   v_PartPreFlag || '_' || v_PartPreDate ||
                   ' VALUES LESS THAN(''' || v_RangeValue ||
                   ''') TABLESPACE ' || v_TableSpace;
      dbms_output.put_line(v_SqlExec);
      v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
      DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
      v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
      DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    END IF;
    --BIP_MMS_MT_TASK_LOG_TAB_TEST 添加分區(qū)
    v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
    v_Num         := 0;
    v_TableSpace  := 'BIP_MMS_TS_TEST';
    v_PartPreFlag := 'MMS_MT_TASK_LOG';
    SELECT COUNT(*)
      INTO v_Num
      FROM user_tab_partitions
     WHERE table_name = v_Mms_Task_Tab
       AND SUBSTR(partition_name, 17, 8) = v_PartPreDate;
    IF v_Num 1 THEN
      v_RangeDate  := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
      v_RangeValue := v_RangeDate || '240000';
      v_SqlExec    := 'ALTER TABLE ' || v_Mms_Task_Tab || ' ADD PARTITION ' ||
                      v_PartPreFlag || '_' || v_PartPreDate ||
                      ' VALUES LESS THAN(''' || v_RangeValue ||
                      ''') TABLESPACE ' || v_TableSpace;
      dbms_output.put_line(v_SqlExec);
      v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
      DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
      v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
      DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    END IF;
    --BIP_MMS_MT_USER_LOG_TAB_TEST 添加分區(qū)
    v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
    v_Num         := 0;
    v_TableSpace  := 'BIP_MMS_TS_TEST';
    v_PartPreFlag := 'MMS_MT_USER_LOG';
    SELECT COUNT(*)
      INTO v_Num
      FROM user_tab_partitions
     WHERE table_name = v_Mms_User_Tab
       AND SUBSTR(partition_name, 17, 8) = v_PartPreDate;
    IF v_Num 1 THEN
      v_RangeDate  := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
      v_RangeValue := v_RangeDate || '240000';
      v_SqlExec    := 'ALTER TABLE ' || v_Mms_User_Tab || ' ADD PARTITION ' ||
                      v_PartPreFlag || '_' || v_PartPreDate ||
                      ' VALUES LESS THAN(''' || v_RangeValue ||
                      ''') TABLESPACE ' || v_TableSpace;
      dbms_output.put_line(v_SqlExec);
      v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
      DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
      v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
      DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    END IF;
  END LOOP;
  COMMIT;

  INSERT INTO BIP_LOG_STAT_EXEC_TAB
  VALUES
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'), 'BIP_MMS_PARTITION_PROC_ADD', 'END');
  COMMIT;

  --DELETE PARTITION
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
  VALUES
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
     'BIP_MMS_PARTITION_PROC_DEL',
     'BEGIN');
  COMMIT;

  BEGIN
    v_PartPreFlag := 'MMS_MT_CONTENT' || '_' ||
                     TO_CHAR(SYSDATE - p_Range, 'yyyymmdd');
    dbms_output.put_line(v_PartPreFlag);
    v_SqlExec := 'ALTER TABLE ' || v_Mms_Content_Tab ||
                 ' TRUNCATE PARTITION ' || v_PartPreFlag;
    dbms_output.put_line(v_SqlExec);
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    dbms_output.put_line(v_PartPreFlag || ' truncated');

    v_SqlExec := 'ALTER TABLE ' || v_Mms_Content_Tab || ' DROP PARTITION ' ||
                 v_PartPreFlag;
    dbms_output.put_line(v_SqlExec);
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    dbms_output.put_line(v_PartPreFlag || ' dropped');
  END;

  BEGIN
    v_PartPreFlag := 'MMS_MT_TASK_LOG' || '_' ||
                     TO_CHAR(SYSDATE - p_Range, 'yyyymmdd');
    dbms_output.put_line(v_PartPreFlag);
    v_SqlExec := 'ALTER TABLE ' || v_Mms_Task_Tab || ' TRUNCATE PARTITION ' ||
                 v_PartPreFlag;
    dbms_output.put_line(v_SqlExec);
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    dbms_output.put_line(v_PartPreFlag || ' truncated');

    v_SqlExec   := 'ALTER TABLE ' || v_Mms_Task_Tab || ' DROP PARTITION ' ||
                   v_PartPreFlag;
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    dbms_output.put_line(v_PartPreFlag || ' dropped');
  END;

  BEGIN
    v_PartPreFlag := 'MMS_MT_USER_LOG' || '_' ||
                     TO_CHAR(SYSDATE - p_Range, 'yyyymmdd');
    dbms_output.put_line(v_PartPreFlag);
    v_SqlExec := 'ALTER TABLE ' || v_Mms_User_Tab || ' TRUNCATE PARTITION ' ||
                 v_PartPreFlag;
    dbms_output.put_line(v_SqlExec);
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    dbms_output.put_line(v_PartPreFlag || ' truncated');

    v_SqlExec   := 'ALTER TABLE ' || v_Mms_User_Tab || ' DROP PARTITION ' ||
                   v_PartPreFlag;
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    dbms_output.put_line(v_PartPreFlag || ' dropped');
  END;

  COMMIT;

  INSERT INTO BIP_LOG_STAT_EXEC_TAB
  VALUES
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
     'BIP_MMS_PARTITION_PROC_DEL',
     'END');
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
    BEGIN
      ROLLBACK;
      dbms_output.put_line(TO_CHAR(SQLCODE));
      vErrInfo := SUBSTR(SQLERRM, 1, 200);
      dbms_output.put_line(TO_CHAR(vErrInfo));
      INSERT INTO BIP_LOG_STAT_EXEC_TAB
      VALUES
        (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
         'BIP_MMS_PARTITION_PROC_ERROR',
         vErrInfo);
      COMMIT;
    END;

end bip_mms_partition_proc;
 

您可能感興趣的文章:
  • 詳解oracle的分表之表分區(qū)的具體使用和示例
  • oracle表空間表分區(qū)詳解及oracle表分區(qū)查詢使用方法
  • Oracle 數(shù)據(jù)表分區(qū)的策略
  • Oracle數(shù)據(jù)表分區(qū)的策略
  • oracle表分區(qū)的概念及操作

標簽:宜春 葫蘆島 淮南 六安 孝感 酒泉 海北 泰安

巨人網(wǎng)絡通訊聲明:本文標題《oracle存儲過程創(chuàng)建表分區(qū)實例》,本文關(guān)鍵詞  oracle,存儲,過程,創(chuàng)建,表,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《oracle存儲過程創(chuàng)建表分區(qū)實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于oracle存儲過程創(chuàng)建表分區(qū)實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产在线播精品第三| 亚洲男女毛片无遮挡| 久久久精品日韩欧美| 亚洲欧美经典视频| 久久精品免费看| www.视频一区| 欧美性猛片aaaaaaa做受| 国产亚洲一区二区三区在线观看 | 国产精品亚洲视频| 欧洲av在线精品| 国产婷婷色一区二区三区四区| 一区二区三区不卡视频在线观看| 国产在线日韩欧美| www.66久久| 日韩精品中午字幕| 亚洲一区中文日韩| 成人动漫一区二区三区| 欧美色精品在线视频| 日本一区二区电影| 麻豆精品一区二区三区| 色噜噜偷拍精品综合在线| 欧美成人精品高清在线播放| 亚洲激情五月婷婷| 国产98色在线|日韩| 日韩欧美国产综合一区| 亚洲成人一区二区在线观看| 99久久精品国产毛片| www国产亚洲精品久久麻豆| 午夜视频一区二区三区| 91麻豆高清视频| 国产欧美一区二区精品性色超碰| 日韩成人av影视| 欧美色区777第一页| 亚洲欧洲精品天堂一级| 毛片av中文字幕一区二区| 欧美老人xxxx18| 亚洲综合成人网| 99re这里只有精品首页| 国产日韩欧美综合在线| 国产一区二区三区四区五区美女| 欧美人狂配大交3d怪物一区| 一区二区三区日韩精品| 99re这里只有精品首页| 国产精品美女久久久久av爽李琼| 国产精品18久久久久久久网站| 日韩视频在线你懂得| 日韩一区精品字幕| 欧美图片一区二区三区| 一区二区三区在线视频观看| 91在线精品一区二区| 亚洲人精品午夜| 97久久精品人人做人人爽 | 91久久国产最好的精华液| 久久一区二区视频| 精品亚洲国产成人av制服丝袜| 日韩一二三四区| 麻豆精品国产91久久久久久| 在线精品观看国产| 亚洲一区中文在线| 欧美日韩国产成人在线免费| 香蕉久久一区二区不卡无毒影院| 91一区一区三区| 中文字幕综合网| 91福利国产成人精品照片| 一区二区高清在线| 91在线播放网址| 一区二区三区在线免费视频| 欧美网站大全在线观看| 亚洲a一区二区| 欧美在线视频日韩| 亚洲18色成人| 日韩一区二区在线看| 国内国产精品久久| 国产精品三级电影| 91福利视频网站| 日韩精品欧美精品| 在线成人高清不卡| 精品制服美女丁香| 久久综合av免费| 成人国产亚洲欧美成人综合网| 亚洲天堂免费看| 欧美在线综合视频| 亚洲高清免费观看高清完整版在线观看| 欧美女孩性生活视频| 日本在线不卡一区| 久久精品水蜜桃av综合天堂| 成人av片在线观看| 亚洲欧美激情小说另类| 欧美日韩一区在线观看| 免费在线视频一区| 精品久久一区二区三区| 国产91高潮流白浆在线麻豆| 日韩毛片高清在线播放| 欧美疯狂性受xxxxx喷水图片| 国产成人综合精品三级| 亚洲国产欧美在线| 欧美国产精品一区| 91精品国产手机| 91蜜桃在线免费视频| 国内精品视频666| 亚洲成在线观看| 国产视频亚洲色图| 51精品秘密在线观看| www.欧美日韩| 麻豆国产欧美日韩综合精品二区| 综合色中文字幕| 精品日韩在线观看| 欧美性大战久久| 成人自拍视频在线| 蜜臀国产一区二区三区在线播放| 亚洲欧美日韩一区| 国产性色一区二区| 欧美一区二区精品在线| 91久久精品一区二区二区| 国精产品一区一区三区mba视频| 国产剧情一区在线| 一区二区三区中文免费| 久久色.com| 777奇米四色成人影色区| 91农村精品一区二区在线| 国产在线精品一区二区夜色 | 成人免费在线观看入口| 精品粉嫩aⅴ一区二区三区四区| 欧美午夜精品理论片a级按摩| 国产成人日日夜夜| 久久精工是国产品牌吗| 午夜精品久久久久久久99水蜜桃| 中文字幕亚洲综合久久菠萝蜜| 久久久久久久久久美女| 日韩一区二区电影在线| 欧美无砖专区一中文字| 色域天天综合网| 成人免费av在线| 国产激情91久久精品导航| 美女视频网站久久| 日韩高清一区二区| 亚洲国产视频在线| 一区二区在线观看免费| 亚洲欧美日韩国产综合在线| 久久综合色8888| 日韩女同互慰一区二区| 欧美一区二区三区在线视频 | 成人美女视频在线观看| 国产精品综合二区| 韩国三级在线一区| 男女性色大片免费观看一区二区| 日韩在线播放一区二区| 亚洲国产精品久久艾草纯爱| 亚洲精品自拍动漫在线| 亚洲综合网站在线观看| 亚洲午夜精品在线| 亚洲国产精品自拍| 五月天中文字幕一区二区| 午夜不卡在线视频| 丝袜a∨在线一区二区三区不卡| 亚洲一区精品在线| 亚洲高清免费观看| 天堂va蜜桃一区二区三区漫画版| 亚洲成a人片在线不卡一二三区| 亚洲一级片在线观看| 亚洲成a人片综合在线| 天天影视色香欲综合网老头| 日韩1区2区日韩1区2区| 麻豆91在线观看| 国内精品伊人久久久久av影院| 国产精品一区一区三区| 高清不卡在线观看av| 波多野结衣精品在线| 91麻豆免费看片| 欧美性生交片4| 欧美一级午夜免费电影| 精品福利二区三区| 中文在线免费一区三区高中清不卡| 国产精品久久久久久福利一牛影视| 最近日韩中文字幕| 午夜欧美电影在线观看| 麻豆精品国产传媒mv男同| 国产成人综合精品三级| 91片黄在线观看| 欧美日本一道本| 精品久久久久久久久久久久久久久久久 | 日韩你懂的电影在线观看| 久久久精品免费免费| 国产精品久久久久久久久久久免费看 | 日韩女优av电影在线观看| 久久久精品综合| 亚洲精品v日韩精品| 欧美aa在线视频| 成人综合日日夜夜| 欧美三级在线视频| 精品国产乱码91久久久久久网站| 国产精品污网站| 亚洲成人中文在线| 国产原创一区二区| 一本一道久久a久久精品| 欧美一区二区三区啪啪| 中文子幕无线码一区tr| 午夜国产不卡在线观看视频| 国产成人aaaa| 欧美日韩国产美|