sql 在表格中分割新的日期范围分区

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 在表格中分割新的日期范围分区相关的知识,希望对你有一定的参考价值。

declare
  c_table_name         varchar2(255) := 'SB_JSON_RESULTS_FLAT';
  c_table_owner        varchar2(255) := 'SBDBA0';
  c_maxvalue_partition varchar2(255) := 'P_SEED';
  c_split_from         date := to_Date('20170701', 'yyyymmdd');
  c_split_to           date := to_date('20170801', 'yyyymmdd');

  v_sql varchar2(4000);
  v_dt  date;
  
begin
  v_dt := trunc(c_split_from);
  while (v_dt <= c_split_to) loop
    v_sql := 'ALTER TABLE ' || c_table_owner || '.' || c_table_name ||
             ' SPLIT PARTITION ' || c_maxvalue_partition || ' AT (TO_DATE(''' ||
             to_char(v_dt + 1, 'YYYYMMDD') ||
             ''',''YYYYMMDD'')) INTO (PARTITION P_' ||
             to_char(v_dt, 'yyyymmdd') || ', PARTITION ' ||c_maxvalue_partition || ')';
    execute immediate v_sql;
    v_dt := v_dt + 1;
  end loop;
end;

以上是关于sql 在表格中分割新的日期范围分区的主要内容,如果未能解决你的问题,请参考以下文章

SQL 按日期范围分区

如何在不更改现有数据位置的情况下添加新的 SQL Server 分区范围来容纳未来的数据?

Oracle SQL 分区范围全部而不是范围单一

VBA Excel在单元格中分隔日期范围

将 SQL 输入日期范围传递给 SHINY 中的查询

如何在 SQL 中选择重叠的日期范围