create or replace package body pkg_autopartition is
– author : *
– created : *
– purpose : 自動建立分割槽表
procedure pro_add_partition
asv_table_name varchar2(50); --表名
v_partition_name varchar2(50);–分割槽名
v_day varchar2(20);–天
v_sql_string varchar2(2000);–拼接的sql
v_add_day varchar2(20);–分割槽表 日期
cursor cur_part is select distinct u.table_name,max(p.partition_name) max_part_name from user_tables u,user_tab_partitions p
where u.table_name=p.table_name and u.partitioned = 『yes』
group by u.table_name;
begin
select to_char(sysdate,『yyyymmdd』) into v_day from dual;–20180401
select to_char(sysdate+14,『yyyymmdd』) into v_add_day from dual;–20180415
open cur_part;
loop
fetch cur_part into v_table_name,v_partition_name;
exit when cur_part%notfound;
if to_number(substr(v_partition_name,6)) v_sql_string :=『alter table 『||v_table_name||』 add partition part_』||v_add_day||
』 values less than ( to_date(』』』||v_add_day||』 23:59:59』』,』『yyyymmdd hh24:mi:ss』』) ) tablespace tjofficialvehicledb』;
execute immediate v_sql_string;
else
null;
end if;
end loop;
close cur_part;
end pro_add_partition;
end pkg_autopartition;
– 帶引數
create or replace package body pkg_getorbitdata is
–獲取軌跡資訊
procedure pro_getorbitdatainfo
(vehicleid_in number, --車輛id
stardate varchar2, --開始時間
enddata varchar2, --結束時間
cur_out out pkg_general.row_cursor)as
begin
open cur_out for
select * from reallocate t
where t.vehicleid = vehicleid_in
and t.devtime>=to_date(stardate,『yyyy-mm-dd hh24:mi:ss』)
and t.devtime<=to_date(enddata,『yyyy-mm-dd hh24:mi:ss』)
order by t.devtime ;
end pro_getorbitdatainfo;
end pkg_getorbitdata;
–執行查詢儲存過程用到
create or replace package pkg_general is
type row_cursor is ref cursor;
end pkg_general;
create or replace package body pkg_general is
end pkg_general;
建立分割槽表(按照年份分割槽,自動新增分割槽)
建立分割槽表aaa,通過字段建立時間的年份來分割槽,分割槽表自動根據插入的資料新增對應的分割槽,不過此處自動建立的分割槽名稱為系統建立的,如 sys 24。create table aaa id number 8 createtime date,value number 8 partition by...
建立表分割槽
表分割槽 單獨新增分割槽 alter table 表名 add partition 分割槽名 values less than to date 時間 yyyy mm dd hh24 mi ss tablespace 表空間名 pctfree 10 initrans 1 maxtrans 255 st...
ORACLE自動建立分割槽
oracle設定按日期的分割槽表,並保證每日均有15天的富餘。如若某天分割槽建立執行失敗,建立分割槽時需將失敗那天的分割槽補充建立。每天按照最大分割槽同當前時間比對判斷,檢視缺失多少天,然後迴圈建立分割槽。建立儲存過程 create or replace procedure zxjy ora.add...