欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 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)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    在线观看av不卡| 日韩一区欧美一区| 日韩国产精品久久| 深田咏美中文字幕| 欧美三级日韩三级国产三级| 亚洲欧美日韩成人高清在线一区| 国产成人亚洲综合色影视| 天堂在线中文视频| 久久久久国产免费免费| 精品一区精品二区高清| 一区二区三区四区免费| 精品国产乱子伦一区| 久久机这里只有精品| 最近中文字幕在线mv视频在线| 欧美变态凌虐bdsm| 久久99在线观看| 久久成人激情视频| 久久久久久99久久久精品网站| 国产呦精品一区二区三区网站| 日本人亚洲人jjzzjjz| 国产调教视频一区| 国产高清无密码一区二区三区| 99久久精品久久亚洲精品| 欧美国产1区2区| 懂色av中文一区二区三区| 男的操女的网站| 亚洲美女屁股眼交3| 97久久精品人人做人人爽| 欧美影视一区二区三区| 亚洲午夜av在线| 丰满大乳奶做爰ⅹxx视频| 精品国产一区久久| 国产精选一区二区三区| 亚洲成人生活片| 亚洲自拍偷拍麻豆| 99久久免费看精品国产一区| 日韩欧美123| 国产一区二区福利| 日韩在线观看视频一区二区| 亚洲乱码国产乱码精品精98午夜| 欧美久久久久久久久久久| 欧美一级欧美三级在线观看| 久久国产精品无码网站| 羞羞在线观看视频| 亚洲精品中文在线影院| 国产精品无码在线| 久久久久久久综合色一本| 成人午夜大片免费观看| 欧美三级日韩在线| 久久99久国产精品黄毛片色诱| 丝袜美腿小色网| 一区av在线播放| 亚洲一区二区三区日韩 | 高清久久久久久| 日本乱码高清不卡字幕| 日本亚洲天堂网| 国产在视频线精品视频| 一区二区欧美国产| 欧洲美一区二区三区亚洲 | 欧美成人猛片aaaaaaa| 国产精品综合一区二区三区| 欧美亚洲愉拍一区二区| 久久精品噜噜噜成人88aⅴ| 五月天婷婷色综合| 日本不卡一二三区黄网| 欧美视频www| 日韩精品久久久久久| 一区二区国产精品精华液| 亚洲成人黄色小说| 黄色片网站在线播放| 亚洲成人你懂的| 国内毛片毛片毛片毛片毛片| 午夜伦理一区二区| 三级av在线免费观看| 日本成人在线一区| 色综合久久88色综合天天| 老司机精品视频线观看86 | 国产在线播精品第三| 欧美一a一片一级一片| 紧缚捆绑精品一区二区| 欧美色精品天天在线观看视频| 国产综合久久久久久鬼色| 欧美日韩国产大片| 风间由美中文字幕在线看视频国产欧美| 欧美日韩www| 丰满放荡岳乱妇91ww| 日韩免费高清av| 九色91porny| 国产精品久久久久久户外露出 | 成人一道本在线| 日韩女优电影在线观看| 91香蕉国产在线观看软件| 久久综合九色综合欧美98| 97中文字幕在线观看| 国产精品久99| 公肉吊粗大爽色翁浪妇视频| 亚洲高清视频在线| 色狠狠色狠狠综合| 国产精品一二三四区| 欧美zozo另类异族| 制服丝袜第一页在线观看| 成人欧美一区二区三区视频网页 | 欧美成人精品福利| 影音先锋资源av| 自拍偷在线精品自拍偷无码专区| 日韩精品电影一区二区三区| 日韩av中文在线观看| 欧美日韩视频在线第一区 | 成人综合在线观看| 久久先锋影音av鲁色资源网| 日本一区二区在线免费观看| 夜夜夜精品看看| 一本久道中文字幕精品亚洲嫩| 国产精品一二一区| 国产清纯美女被跳蛋高潮一区二区久久w | 久久免费精品国产久精品久久久久| 日韩精品人妻中文字幕有码| 亚洲老妇xxxxxx| 一本大道综合伊人精品热热| 国产成人免费视频网站| 国产午夜精品理论片a级大结局| 日韩一级av毛片| 激情综合五月天| 久久综合色鬼综合色| a毛片毛片av永久免费| 日韩影院在线观看| 欧美一级欧美一级在线播放| 噜噜噜在线视频| 免费观看一级特黄欧美大片| 日韩限制级电影在线观看| 内射中出日韩无国产剧情| 日韩综合在线视频| 欧美一区二区三区在线看| 在线黄色免费网站| 日韩专区一卡二卡| 精品久久国产97色综合| 波多野结衣片子| 激情国产一区二区| 国产亚洲精品免费| 又嫩又硬又黄又爽的视频| 国产精品一区二区黑丝| 国产精品女人毛片| 一本色道久久综合精品竹菊| 91猫先生在线| 亚洲成av人片www| 欧美一级在线观看| 成人性生交大免费看| 国产精品自拍三区| 亚洲欧洲成人av每日更新| 欧洲另类一二三四区| 久草免费资源站| 日本不卡一区二区三区| 久久精品夜夜夜夜久久| 亚洲一区电影在线观看| 成人黄动漫网站免费app| 亚洲精品视频免费观看| 欧美日韩在线播放| 亚洲欧美在线不卡| 国产在线视视频有精品| 中文幕一区二区三区久久蜜桃| 色综合久久88色综合天天6| 国产人妻精品午夜福利免费| 日韩 欧美一区二区三区| 26uuu亚洲婷婷狠狠天堂| 日韩欧美国产成人精品免费| 91麻豆swag| 日韩电影在线免费看| 久久蜜臀中文字幕| 日本久久电影网| 91av在线免费| 高清在线成人网| 亚洲高清视频的网址| 久久久久久久精| 91国内精品野花午夜精品| 免费在线观看成年人视频| 国产福利91精品一区| 亚洲一区二区欧美激情| 久久综合色天天久久综合图片| 老妇女50岁三级| 久久久无码人妻精品一区| 成人午夜激情在线| 日韩精品亚洲一区| 国产精品色婷婷久久58| 欧美日本不卡视频| 老司机精品免费视频| 波多野结衣三级视频| 韩国毛片一区二区三区| 亚洲美女精品一区| xvideos.蜜桃一区二区| 在线观看亚洲精品| 久久成人激情视频| 日韩精品国产一区| 国产一区二区免费视频| 性做久久久久久久免费看| 中文字幕精品综合| 欧美一区二区三区性视频| 2018天天弄| 亚洲精品成人无码| 人妻少妇偷人精品久久久任期| 国产精品一区二区在线观看不卡 |