删除数据库中所有存在表的数据

create or replace function clear_table_data() returns text as 
$$
  declare
    select_result record;
    table_name varchar;
  begin
    for select_result in
      select relname as tablename from pg_class c where  relkind = 'r' and relname not like 'pg_%' and relname not like 'sql_%'  order by relname
    loop
      table_name = select_result.tablename;
      execute 'TRUNCATE TABLE ' || table_name;
    end loop;
    return 'success';
  end;
$$
language plpgsql;

select * FROM clear_table_data();

 

posted @ 2018-10-08 14:06  夏之夜  阅读(393)  评论(0编辑  收藏  举报