来源:Chatgpt
测试调试:我
先上SQL语句如下:
联级删除单表
DROP TABLE IF EXISTS 表名 CASCADE
批量删除整张表
DO $$
DECLARE
current_table_name text;
BEGIN
-- 获取所有以 'bgd_' 开头的表名
FOR current_table_name IN
SELECT table_name
FROM information_schema.tables
WHERE table_name LIKE 'bgd\_%' ESCAPE '\'
LOOP
-- 构建并执行删除表的语句
EXECUTE 'DELETE FROM ' || current_table_name || ' CASCADE';
END LOOP;
END $$;
批量删除表数据
DO $$
DECLARE
current_table_name text;
BEGIN
-- 获取所有以 'bgd_' 开头的表名
FOR current_table_name IN
SELECT table_name
FROM information_schema.tables
WHERE table_name LIKE 'bgd\_%' ESCAPE '\'
LOOP
-- 构建并执行删除表的语句
EXECUTE 'DROP TABLE IF EXISTS ' || current_table_name || ' CASCADE';
END LOOP;
END $$;
使用注意事项:
获取所有以 'bgd_' 开头的表名