• 自动添加表分区


    create or replace procedure esb_proc_trans_table
    (p_currdate in date default NULL)
    is
    --全局参数
    v_curr_date date;
    v_curr_date_str varchar(30);
    v_table_name varchar(30);
    v_part_name varchar(30);
    v_last_space varchar(30);
    v_next_space varchar(30);
    v_next_space_id number;
    --esb_sys_log 信息
    v_opt_name varchar(20);
    v_opt_date varchar(8);
    v_opt_start_tm varchar(17);
    v_opt_end_tm varchar(17);
    v_opt_sts varchar(1);
    v_remark varchar(100);
    
    --日期参数
    v_next_date date;
    v_next_date_str varchar(8);
    v_next_date_base varchar(8);
    v_t_9_date date;
    v_t_9_date_str varchar(8);
    
    v_sql_str varchar(512);
    v_err_msg varchar(100);
    
    begin
    
    --*******************************************************************
    --***********************状态检查和初始化****************************
    --*******************************************************************
    
    --提取处理日期
    if p_currdate is NULL then
    v_curr_date:=sysdate;
    else
    v_curr_date:=p_currdate;
    end if;
    v_next_date:=v_curr_date+1;
    v_curr_date_str:=to_char(v_curr_date,'yyyymmdd');
    v_next_date_str:=to_char(v_next_date,'yyyymmdd');
    v_next_date_base:=to_char(v_next_date,'yyyymmdd');
    v_last_space:='SUNDS_BP';
    v_table_name:='P_SCAN';
    dbms_output.put_line(v_curr_date);
    dbms_output.put_line(v_next_date);
    
    --创建分区
    v_part_name:='P_SCAN_'||(v_curr_date_str);
    v_sql_str:='alter table '||v_table_name||' add partition '||v_part_name||
    ' values less than ( to_date('''||v_next_date_base||
    ''',''yyyymmdd'')) tablespace '||v_last_space;
    dbms_output.put_line(v_sql_str);
    execute immediate v_sql_str ;
    
    
    -----------------------------------------------------------------------
    end esb_proc_trans_table;
    
    
    
    -----------------------------------------------------------------------
    end esb_proc_trans_table;
    
    
    
    08-12月-16
    09-12月-16
    alter table P_SCAN add partition P_SCAN_20161208 values less than ( to_date('20161209','yyyymmdd')) tablespace SUNDS_BP
    
  • 相关阅读:
    Spark开发-SparkUDAF(二)
    Spark开发-Spark UDAF(一)
    Spark开发-Spark中类型安全UDAF开发示例
    Spark开发_构建TypeSafe的Dataset
    布隆过滤器(Bloom Filter)
    一个 Spark 应用程序的完整执行流程
    Spark的RPC
    Spark调优
    Hbase系列文章
    Flink怎么做到精确一次的?
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348945.html
Copyright © 2020-2023  润新知