postgresql建立删除分区表

WBOY
發布: 2016-06-07 15:54:32
原創
3236 人瀏覽過

常经常添加分区表,和清理分区表,很简单的2个函数 --添加分区表 CREATE OR REPLACE FUNCTION create_table(table_name character varying,table_num integer) RETURNS void LANGUAGE plpgsql AS $function$ declare v_date char(8); v_tablename varchar(64)

常经常添加分区表,和清理分区表,很简单的2个函数 --添加分区表 CREATE OR REPLACE FUNCTION create_table(table_name character varying,table_num integer) RETURNS void LANGUAGE plpgsql AS $function$ declare
v_date char(8); v_tablename varchar(64);
begin for i in 0..table_num loop
v_date :=to_char(current_date + i,'YYYYMMDD'); v_tablename := table_name ||'_'|| v_date;
execute 'create table ' || v_tablename ||'(like '||table_name||' including all) inherits('||table_name||')'; execute 'grant select on ' || v_tablename || ' to dwetl';
end loop; end $function$;
--删除分区表 CREATE OR REPLACE FUNCTION drop_table(table_name character varying,table_num integer) RETURNS void LANGUAGE plpgsql AS $function$ declare
v_date char(8); v_tablename varchar(64);
begin for i in 0..table_num loop
v_date :=to_char(current_date + i,'YYYYMMDD'); v_tablename := table_name ||'_'|| v_date;
execute 'drop table ' || v_tablename;

end loop; end $function$;

--执行函数 select create_table('table_name',table_num); select drop_table('table_name',table_num); --删除函数 drop FUNCTION create_table(table_name character varying,table_num integer); #必须写上输入参数 drop FUNCTION drop_table(table_name character varying,table_num integer);
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!