DROP FUNCTION IF EXISTS bulk_del_tables();
CREATE FUNCTION bulk_del_tables() -- 定义函数,返回值为 void
RETURNS void AS $$
DECLARE names CURSOR FOR -- 定义游标,获取列表
SELECT tablename FROM pg_tables WHERE tablename LIKE '%new_ddi_sale_import%' ;
BEGIN
FOR stmt IN names LOOP -- 循环
EXECUTE 'DROP TABLE '|| quote_ident(stmt.tablename) || ' CASCADE;'; -- quote_ident 参数化 , '||' 字符串拼接 , CASCADE 删除记录时删除外键引用
END LOOP;
END;
$$ LANGUAGE plpgsql; -- 过程语言
--执行函数批量删除表
SELECT bulk_del_tables();
postgres 批量删除表
最新推荐文章于 2023-02-27 10:00:32 发布