postgresql数据库使用函数查询所有符合条件的表名,以及删除所有查询到的表的数据

论坛 期权论坛 脚本     
匿名技术用户   2021-1-3 01:23   35   0

查询所有符合条件的表名:

(我这里的条件是所有以“tbl_”开头除过“tbl_user"的所有表名)

create or replace function query_all_table_name() returns setof varchar as 
$$
  declare
    select_result record;
  begin
  for select_result in
    select tablename from ux_tables where tablename like 'tbl_%' and tablename != 'tbl_user'
  loop
    return next select_result.tablename;
  end loop;
  return;
  end;
$$
language pluxsql volatile
cost 100 rows 1000;

删除所有符合条件的表的数据:

(我这里是删除上边查出的这些表的数据)

create or replace function clear_table_data() returns text as 
$$
  declare
    select_result record;
    table_name varchar;
  begin
    for select_result in
      select tablename from ux_tables where tablename like 'tbl_%' and tablename != 'tbl_user'
    loop
      table_name = select_result.tablename;
      execute 'delete from ' || table_name;
    end loop;
    return 'success';
  end;
$$
language pluxsql;


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP