postgresql建立删除分区表

WBOY
풀어 주다: 2016-06-07 15:54:32
원래의
3240명이 탐색했습니다.

常经常添加分区表,和清理分区表,很简单的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 학습자의 빠른 성장을 도와주세요!