oracle

推荐列表 站点导航

当前位置:首页 > 数据库 > oracle >

oracle存储过程创建表分区实例

来源:网络整理  作者:网络  发布时间:2020-12-09 09:18
二种oracle存储过程创建表分区实例...
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');


    SELECT COUNT(*)

  MIN20    FLOAT,
功能描述:创建模拟量历史数据存储表
      end if;
     WHERE NAME = 'p_PartNum';
    dbms_output.put_line(v_PartPreFlag || ' truncated');
  COMMIT;
                      v_PartPreFlag || '_' || v_PartPreDate ||
创建时注意必须添加authid current_user,如果创建的表已存在,存储过程继续执行,但如不不加此关键语句,存储过程将出现异常,
      end;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    END IF;
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);

复制代码 代码如下:

      v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
begin
     'BIP_MMS_PARTITION_PROC_DEL',
  MINV     FLOAT,
  AGV25    FLOAT,

这个语句相当于赋权限。
  end;
  MIN45    FLOAT,
  AGV55    FLOAT,
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
  END;
      FROM BIP_OTHERS_PROPERTIES_TAB

      FROM user_tab_partitions
      DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
     'BEGIN');
  --记录存储过程添加分区
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
    v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
      FROM BIP_OTHERS_PROPERTIES_TAB
       AND SUBSTR(partition_name, 17, 8) = v_PartPreDate;
  -- 读取配置参数
    dbms_output.put_line(v_SqlExec);
    v_TableSpace  := 'BIP_MMS_TS_TEST';
      INTO v_Num
    IF v_Num < 1 THEN
      dbms_output.put_line(v_SqlExec);
  p_PartNum         NUMBER;
  MIN05    FLOAT,
CREATE OR REPLACE PROCEDURE BIP_MMS_PARTITION_PROC AS
    dbms_output.put_line(v_PartPreFlag || ' dropped');
  MIN15    FLOAT,
                     TO_CHAR(SYSDATE - p_Range, 'yyyymmdd');
     'END');

    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
                   v_PartPreFlag;
  p_DateFrom        NUMBER;
      COMMIT;
    v_PartPreFlag := 'MMS_MT_CONTENT';
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
                 v_PartPreFlag;
例1
  MIN10    FLOAT,

     'BEGIN');
  BEGIN
      v_RangeDate  := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
      END;
      v_RangeValue := v_RangeDate || '240000';
    v_SqlExec := 'ALTER TABLE ' || v_Mms_User_Tab || ' TRUNCATE PARTITION ' ||
  v_Num             NUMBER(30) := 0;
      v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
       AND SUBSTR(partition_name, 17, 8) = v_PartPreDate;
       AND SUBSTR(partition_name, 16, 8) = v_PartPreDate;
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
  MAX35    FLOAT,
  v_SqlExec         VARCHAR2(2000); --执行语句
  v_Mms_User_Tab    := 'BIP_MMS_MT_USER_LOG_TAB_TEST';
    dbms_output.put_line(v_SqlExec);
  v_Mms_Content_Tab VARCHAR2(50);
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
BEGIN
  AGV30    FLOAT,
                   v_PartPreFlag || '_' || v_PartPreDate ||
  MIN40    FLOAT,
  execute immediate 'create table '||v_tablename ||'
    maxextents unlimited

1.0.0    2012-9-20 wylaok  1.创建此存储过程
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
  MAXTIME  DATE,
      DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
                      v_PartPreFlag || '_' || v_PartPreDate ||
  END;
  BEGIN
         'BIP_MMS_PARTITION_PROC_ERROR',
  pctfree 10
    v_PartPreFlag := 'MMS_MT_TASK_LOG' || '_' ||
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
  v_PartPreDate     VARCHAR2(20); --分区日期
    dbms_output.put_line(v_PartPreDate);
    dbms_output.put_line(v_PartPreFlag || ' truncated');


  (
    v_SqlExec   := 'ALTER TABLE ' || v_Mms_User_Tab || ' DROP PARTITION ' ||
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
     WHERE table_name = v_Mms_Task_Tab
  AGV40    FLOAT,
create or replace
      INTO p_PartNum
    pctincrease 0
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),

                 v_PartPreFlag;
  v_RangeValue      NUMBER;
  END;
                     TO_CHAR(SYSDATE - p_Range, 'yyyymmdd');
例2
  v_flag:=0;

  v_Mms_Task_Tab    VARCHAR2(50); --表名
  COMMIT;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
  VALUES
      dbms_output.put_line(v_SqlExec);

    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
      DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);

    v_TableSpace  := 'BIP_MMS_TS_TEST';
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;

复制代码 代码如下:

  MAX25    FLOAT,
  EXCEPTION
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
  MIN50    FLOAT,
调用此存储过程:
  storage
  COMMIT;
                 v_PartPreFlag;
begin
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
                   v_PartPreFlag;
  AGV35    FLOAT,
  /*********************************
i_id 测点编号
  MIN55    FLOAT,
    dbms_output.put_line(v_PartPreFlag);
        p_Range    := 180;
  v_Mms_User_Tab    VARCHAR2(50);
      v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    dbms_output.put_line(v_PartPreFlag || ' truncated');
      DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
      v_RangeValue := v_RangeDate || '240000';
      v_flag number(10,0);
     'BIP_MMS_PARTITION_PROC_DEL',
  MAX00    FLOAT,
                      ''') TABLESPACE ' || v_TableSpace;
  WHEN OTHERS THEN
      v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
      BEGIN
  COMMIT;
    v_Num         := 0;
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'), 'BIP_MMS_PARTITION_PROC_ADD', 'END');
    END IF;
  MAX50    FLOAT,
                 ' TRUNCATE PARTITION ' || v_PartPreFlag;
  MAXV     FLOAT,

  AGV20    FLOAT,
  MINTIME  DATE
      FROM BIP_OTHERS_PROPERTIES_TAB
  tablespace WYG
      FROM user_tab_partitions
    SELECT COUNT(*)
        p_PartNum  := 1;
      v_RangeDate  := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
      INTO p_DateFrom
                      ''') TABLESPACE ' || v_TableSpace;
    SELECT TO_NUMBER(VALUE)
    v_TableSpace  := 'BIP_MMS_TS_TEST';
  MAX55    FLOAT,
         begin
名称:sp_create_mnl
  AGV00    FLOAT,
  AVG05    FLOAT,
  BEGIN

  p_Range           NUMBER;
  COMMIT;
    v_PartPreFlag := 'MMS_MT_TASK_LOG';
  )';
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
  AGV15    FLOAT,
1.0.1    2012-9-21 wylaok  2.修改表名称及变量名称,增加必要注释
    BEGIN
  BEGIN
      ROLLBACK;
      DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
  COMMIT;
  END;
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
  v_Mms_Content_Tab := 'BIP_MMS_MT_CONTENT_TAB_TEST';
    dbms_output.put_line(v_PartPreFlag || ' dropped');
  MAX10    FLOAT,
    v_PartPreFlag := 'MMS_MT_CONTENT' || '_' ||
  VALUES
    END IF;
  FOR i IN 1 .. p_PartNum LOOP
入参出参描述:
      VALUES
    END;
  MAX05    FLOAT,
    dbms_output.put_line(v_PartPreFlag);
  )
  VALUES
  v_Mms_Task_Tab    := 'BIP_MMS_MT_TASK_LOG_TAB_TEST';
  MIN35    FLOAT,
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
      dbms_output.put_line(TO_CHAR(SQLCODE));
                   ' VALUES LESS THAN(''' || v_RangeValue ||
      FROM user_tab_partitions
    next 512K
end bip_mms_partition_proc;
      dbms_output.put_line(TO_CHAR(vErrInfo));
**********************************/
    minextents 1
     WHERE NAME = 'p_DateFrom';

      DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
  MIN30    FLOAT,
  MAX15    FLOAT,
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
  ( DATETIME DATE,
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
  MAX30    FLOAT,
      INSERT INTO BIP_LOG_STAT_EXEC_TAB
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_SqlExec := 'ALTER TABLE ' || v_Mms_Content_Tab ||
  MAX20    FLOAT,
      v_SqlExec    := 'ALTER TABLE ' || v_Mms_User_Tab || ' ADD PARTITION ' ||
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
  MIN25    FLOAT,
EXCEPTION
    v_SqlExec   := 'ALTER TABLE ' || v_Mms_Task_Tab || ' DROP PARTITION ' ||
      v_sqlfalg varchar(200);


复制代码 代码如下:

  v_RangeDate       NUMBER;
         end;
    dbms_output.put_line(v_PartPreFlag || ' dropped');
      execute immediate v_sqlfalg into v_flag;
  --DELETE PARTITION
  AVGV     FLOAT,
    v_PartPreFlag := 'MMS_MT_USER_LOG' || '_' ||
    dbms_output.put_line(v_SqlExec);
     WHERE table_name = v_Mms_User_Tab
     'BIP_MMS_PARTITION_PROC_ADD',
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
  MIN00    FLOAT,
      v_tablename varchar2(30);--表名

  v_PartPreFlag     VARCHAR2(50); --分区名标识
  v_SqlCursor       NUMBER; --游标
  AGV50    FLOAT,
      v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
     WHERE NAME = 'p_Range';
      INTO v_Num
                     TO_CHAR(SYSDATE - p_Range, 'yyyymmdd');

用存储过程创建数据表:

  MAX40    FLOAT,
      dbms_output.put_line(v_sqlfalg);

创建语句如下:
                   ''') TABLESPACE ' || v_TableSpace;
    SELECT COUNT(*)
    --BIP_MMS_MT_CONTENT_TAB 添加分区
  createmnl('mnl_14');
  vErrInfo          VARCHAR2(200);
  VALUES
  END LOOP;
      dbms_output.put_line(v_SqlExec);
    SELECT TO_NUMBER(VALUE)
         vErrInfo);
 

                      ' VALUES LESS THAN(''' || v_RangeValue ||
    SELECT TO_NUMBER(VALUE)
  maxtrans 255
    v_PartPreFlag := 'MMS_MT_USER_LOG';
    v_Num         := 0;
      v_RangeDate  := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
      if v_flag=0 then  --如果没有这个表 则去创建
      v_SqlExec := 'ALTER TABLE ' || v_Mms_Content_Tab || ' ADD PARTITION ' ||

    v_Num         := 0;

  --ADD PARTITION 
    v_SqlExec := 'ALTER TABLE ' || v_Mms_Content_Tab || ' DROP PARTITION ' ||
     WHERE table_name = v_Mms_Content_Tab
    v_SqlExec := 'ALTER TABLE ' || v_Mms_Task_Tab || ' TRUNCATE PARTITION ' ||
      vErrInfo := SUBSTR(SQLERRM, 1, 200);
  AGV45    FLOAT,
        p_DateFrom := 0;
  v_TableSpace      VARCHAR2(20); --表空间
      INTO p_Range
  --    execute immediate sqlstr;
  initrans 1
procedure sp_create_mnl(i_id varchar2) authid current_user  as
    IF v_Num < 1 THEN
        (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
      v_tablename:=CONCAT('MNL', UPPER(i_id));
      v_sqlfalg:='select count(*) from user_TABLES where table_name='''||v_tablename||'''';
    dbms_output.put_line(v_SqlExec);
      v_RangeValue := v_RangeDate || '240000';
    initial 512K
    IF v_Num < 1 THEN
版本号   编辑时间  编辑人  修改描述
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
      v_SqlExec    := 'ALTER TABLE ' || v_Mms_Task_Tab || ' ADD PARTITION ' ||
                      ' VALUES LESS THAN(''' || v_RangeValue ||
  AGV10    FLOAT,
    dbms_output.put_line(v_PartPreFlag);
    --BIP_MMS_MT_TASK_LOG_TAB_TEST 添加分区
      dbms_output.put_line(v_RangeValue);

      v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
      INTO v_Num
    --BIP_MMS_MT_USER_LOG_TAB_TEST 添加分区
修订记录:
  v_Rows            NUMBER(30) := 0;
    WHEN OTHERS THEN
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
  MAX45    FLOAT,

相关热词: oracle 实例

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/sql/oracle/1756.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

oracle存储过程创建表分区实例

2020-12-09 编辑:网络

    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');


    SELECT COUNT(*)

  MIN20    FLOAT,
功能描述:创建模拟量历史数据存储表
      end if;
     WHERE NAME = 'p_PartNum';
    dbms_output.put_line(v_PartPreFlag || ' truncated');
  COMMIT;
                      v_PartPreFlag || '_' || v_PartPreDate ||
创建时注意必须添加authid current_user,如果创建的表已存在,存储过程继续执行,但如不不加此关键语句,存储过程将出现异常,
      end;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    END IF;
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);

复制代码 代码如下:

      v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
begin
     'BIP_MMS_PARTITION_PROC_DEL',
  MINV     FLOAT,
  AGV25    FLOAT,

这个语句相当于赋权限。
  end;
  MIN45    FLOAT,
  AGV55    FLOAT,
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
  END;
      FROM BIP_OTHERS_PROPERTIES_TAB

      FROM user_tab_partitions
      DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
     'BEGIN');
  --记录存储过程添加分区
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
    v_PartPreDate := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
      FROM BIP_OTHERS_PROPERTIES_TAB
       AND SUBSTR(partition_name, 17, 8) = v_PartPreDate;
  -- 读取配置参数
    dbms_output.put_line(v_SqlExec);
    v_TableSpace  := 'BIP_MMS_TS_TEST';
      INTO v_Num
    IF v_Num < 1 THEN
      dbms_output.put_line(v_SqlExec);
  p_PartNum         NUMBER;
  MIN05    FLOAT,
CREATE OR REPLACE PROCEDURE BIP_MMS_PARTITION_PROC AS
    dbms_output.put_line(v_PartPreFlag || ' dropped');
  MIN15    FLOAT,
                     TO_CHAR(SYSDATE - p_Range, 'yyyymmdd');
     'END');

    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
                   v_PartPreFlag;
  p_DateFrom        NUMBER;
      COMMIT;
    v_PartPreFlag := 'MMS_MT_CONTENT';
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
                 v_PartPreFlag;
例1
  MIN10    FLOAT,

     'BEGIN');
  BEGIN
      v_RangeDate  := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
      END;
      v_RangeValue := v_RangeDate || '240000';
    v_SqlExec := 'ALTER TABLE ' || v_Mms_User_Tab || ' TRUNCATE PARTITION ' ||
  v_Num             NUMBER(30) := 0;
      v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
       AND SUBSTR(partition_name, 17, 8) = v_PartPreDate;
       AND SUBSTR(partition_name, 16, 8) = v_PartPreDate;
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
  MAX35    FLOAT,
  v_SqlExec         VARCHAR2(2000); --执行语句
  v_Mms_User_Tab    := 'BIP_MMS_MT_USER_LOG_TAB_TEST';
    dbms_output.put_line(v_SqlExec);
  v_Mms_Content_Tab VARCHAR2(50);
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
BEGIN
  AGV30    FLOAT,
                   v_PartPreFlag || '_' || v_PartPreDate ||
  MIN40    FLOAT,
  execute immediate 'create table '||v_tablename ||'
    maxextents unlimited

1.0.0    2012-9-20 wylaok  1.创建此存储过程
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
  MAXTIME  DATE,
      DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
                      v_PartPreFlag || '_' || v_PartPreDate ||
  END;
  BEGIN
         'BIP_MMS_PARTITION_PROC_ERROR',
  pctfree 10
    v_PartPreFlag := 'MMS_MT_TASK_LOG' || '_' ||
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
  v_PartPreDate     VARCHAR2(20); --分区日期
    dbms_output.put_line(v_PartPreDate);
    dbms_output.put_line(v_PartPreFlag || ' truncated');


  (
    v_SqlExec   := 'ALTER TABLE ' || v_Mms_User_Tab || ' DROP PARTITION ' ||
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
     WHERE table_name = v_Mms_Task_Tab
  AGV40    FLOAT,
create or replace
      INTO p_PartNum
    pctincrease 0
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),

                 v_PartPreFlag;
  v_RangeValue      NUMBER;
  END;
                     TO_CHAR(SYSDATE - p_Range, 'yyyymmdd');
例2
  v_flag:=0;

  v_Mms_Task_Tab    VARCHAR2(50); --表名
  COMMIT;
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
  VALUES
      dbms_output.put_line(v_SqlExec);

    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
      DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);

    v_TableSpace  := 'BIP_MMS_TS_TEST';
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;

复制代码 代码如下:

  MAX25    FLOAT,
  EXCEPTION
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
  MIN50    FLOAT,
调用此存储过程:
  storage
  COMMIT;
                 v_PartPreFlag;
begin
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
                   v_PartPreFlag;
  AGV35    FLOAT,
  /*********************************
i_id 测点编号
  MIN55    FLOAT,
    dbms_output.put_line(v_PartPreFlag);
        p_Range    := 180;
  v_Mms_User_Tab    VARCHAR2(50);
      v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
    dbms_output.put_line(v_PartPreFlag || ' truncated');
      DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
      v_RangeValue := v_RangeDate || '240000';
      v_flag number(10,0);
     'BIP_MMS_PARTITION_PROC_DEL',
  MAX00    FLOAT,
                      ''') TABLESPACE ' || v_TableSpace;
  WHEN OTHERS THEN
      v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
      BEGIN
  COMMIT;
    v_Num         := 0;
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'), 'BIP_MMS_PARTITION_PROC_ADD', 'END');
    END IF;
  MAX50    FLOAT,
                 ' TRUNCATE PARTITION ' || v_PartPreFlag;
  MAXV     FLOAT,

  AGV20    FLOAT,
  MINTIME  DATE
      FROM BIP_OTHERS_PROPERTIES_TAB
  tablespace WYG
      FROM user_tab_partitions
    SELECT COUNT(*)
        p_PartNum  := 1;
      v_RangeDate  := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
      INTO p_DateFrom
                      ''') TABLESPACE ' || v_TableSpace;
    SELECT TO_NUMBER(VALUE)
    v_TableSpace  := 'BIP_MMS_TS_TEST';
  MAX55    FLOAT,
         begin
名称:sp_create_mnl
  AGV00    FLOAT,
  AVG05    FLOAT,
  BEGIN

  p_Range           NUMBER;
  COMMIT;
    v_PartPreFlag := 'MMS_MT_TASK_LOG';
  )';
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
  AGV15    FLOAT,
1.0.1    2012-9-21 wylaok  2.修改表名称及变量名称,增加必要注释
    BEGIN
  BEGIN
      ROLLBACK;
      DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
  COMMIT;
  END;
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
  v_Mms_Content_Tab := 'BIP_MMS_MT_CONTENT_TAB_TEST';
    dbms_output.put_line(v_PartPreFlag || ' dropped');
  MAX10    FLOAT,
    v_PartPreFlag := 'MMS_MT_CONTENT' || '_' ||
  VALUES
    END IF;
  FOR i IN 1 .. p_PartNum LOOP
入参出参描述:
      VALUES
    END;
  MAX05    FLOAT,
    dbms_output.put_line(v_PartPreFlag);
  )
  VALUES
  v_Mms_Task_Tab    := 'BIP_MMS_MT_TASK_LOG_TAB_TEST';
  MIN35    FLOAT,
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
      dbms_output.put_line(TO_CHAR(SQLCODE));
                   ' VALUES LESS THAN(''' || v_RangeValue ||
      FROM user_tab_partitions
    next 512K
end bip_mms_partition_proc;
      dbms_output.put_line(TO_CHAR(vErrInfo));
**********************************/
    minextents 1
     WHERE NAME = 'p_DateFrom';

      DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
  MIN30    FLOAT,
  MAX15    FLOAT,
    v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
  ( DATETIME DATE,
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
  MAX30    FLOAT,
      INSERT INTO BIP_LOG_STAT_EXEC_TAB
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
    v_SqlExec := 'ALTER TABLE ' || v_Mms_Content_Tab ||
  MAX20    FLOAT,
      v_SqlExec    := 'ALTER TABLE ' || v_Mms_User_Tab || ' ADD PARTITION ' ||
  INSERT INTO BIP_LOG_STAT_EXEC_TAB
  MIN25    FLOAT,
EXCEPTION
    v_SqlExec   := 'ALTER TABLE ' || v_Mms_Task_Tab || ' DROP PARTITION ' ||
      v_sqlfalg varchar(200);


复制代码 代码如下:

  v_RangeDate       NUMBER;
         end;
    dbms_output.put_line(v_PartPreFlag || ' dropped');
      execute immediate v_sqlfalg into v_flag;
  --DELETE PARTITION
  AVGV     FLOAT,
    v_PartPreFlag := 'MMS_MT_USER_LOG' || '_' ||
    dbms_output.put_line(v_SqlExec);
     WHERE table_name = v_Mms_User_Tab
     'BIP_MMS_PARTITION_PROC_ADD',
    DBMS_SQL.CLOSE_CURSOR(v_SqlCursor);
    v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
  MIN00    FLOAT,
      v_tablename varchar2(30);--表名

  v_PartPreFlag     VARCHAR2(50); --分区名标识
  v_SqlCursor       NUMBER; --游标
  AGV50    FLOAT,
      v_SqlCursor := DBMS_SQL.OPEN_CURSOR;
     WHERE NAME = 'p_Range';
      INTO v_Num
                     TO_CHAR(SYSDATE - p_Range, 'yyyymmdd');

用存储过程创建数据表:

  MAX40    FLOAT,
      dbms_output.put_line(v_sqlfalg);

创建语句如下:
                   ''') TABLESPACE ' || v_TableSpace;
    SELECT COUNT(*)
    --BIP_MMS_MT_CONTENT_TAB 添加分区
  createmnl('mnl_14');
  vErrInfo          VARCHAR2(200);
  VALUES
  END LOOP;
      dbms_output.put_line(v_SqlExec);
    SELECT TO_NUMBER(VALUE)
         vErrInfo);
 

                      ' VALUES LESS THAN(''' || v_RangeValue ||
    SELECT TO_NUMBER(VALUE)
  maxtrans 255
    v_PartPreFlag := 'MMS_MT_USER_LOG';
    v_Num         := 0;
      v_RangeDate  := TO_CHAR(SYSDATE + p_DateFrom + i, 'YYYYMMDD');
      if v_flag=0 then  --如果没有这个表 则去创建
      v_SqlExec := 'ALTER TABLE ' || v_Mms_Content_Tab || ' ADD PARTITION ' ||

    v_Num         := 0;

  --ADD PARTITION 
    v_SqlExec := 'ALTER TABLE ' || v_Mms_Content_Tab || ' DROP PARTITION ' ||
     WHERE table_name = v_Mms_Content_Tab
    v_SqlExec := 'ALTER TABLE ' || v_Mms_Task_Tab || ' TRUNCATE PARTITION ' ||
      vErrInfo := SUBSTR(SQLERRM, 1, 200);
  AGV45    FLOAT,
        p_DateFrom := 0;
  v_TableSpace      VARCHAR2(20); --表空间
      INTO p_Range
  --    execute immediate sqlstr;
  initrans 1
procedure sp_create_mnl(i_id varchar2) authid current_user  as
    IF v_Num < 1 THEN
        (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
      v_tablename:=CONCAT('MNL', UPPER(i_id));
      v_sqlfalg:='select count(*) from user_TABLES where table_name='''||v_tablename||'''';
    dbms_output.put_line(v_SqlExec);
      v_RangeValue := v_RangeDate || '240000';
    initial 512K
    IF v_Num < 1 THEN
版本号   编辑时间  编辑人  修改描述
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
      v_SqlExec    := 'ALTER TABLE ' || v_Mms_Task_Tab || ' ADD PARTITION ' ||
                      ' VALUES LESS THAN(''' || v_RangeValue ||
  AGV10    FLOAT,
    dbms_output.put_line(v_PartPreFlag);
    --BIP_MMS_MT_TASK_LOG_TAB_TEST 添加分区
      dbms_output.put_line(v_RangeValue);

      v_Rows := DBMS_SQL.EXECUTE(v_SqlCursor);
      INTO v_Num
    --BIP_MMS_MT_USER_LOG_TAB_TEST 添加分区
修订记录:
  v_Rows            NUMBER(30) := 0;
    WHEN OTHERS THEN
    (TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
    DBMS_SQL.PARSE(v_SqlCursor, v_SqlExec, DBMS_SQL.NATIVE);
  MAX45    FLOAT,

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/sql/oracle/1756.shtml

相关文章

风云图片

推荐阅读

返回oracle频道首页