gpt4 book ai didi

sql - 创建脚本以删除多个表 (PostgreSQL)

转载 作者:行者123 更新时间:2023-11-29 13:25:01 26 4
gpt4 key购买 nike

我想创建一个脚本来检测并删除我的 posgresql 数据库中的公共(public)表...

我构建的请求如下:

SELECT CONCAT('DROP TABLE ', table_schema,'.',table_name,';') AS stmt FROM information_schema.TABLES
WHERE table_schema='public' AND table_catalog='capsana'

这是我得到的输出的截图

enter image description here

我现在想以自动方式执行命令(在 stmt 列中).. 无需复制粘贴!

有什么办法吗?

最佳答案

你可以使用动态sql来做到这一点;

DO $$
DECLARE
drop_stmt text;
BEGIN
FOR drop_stmt IN
SELECT CONCAT('DROP TABLE ', table_schema,'.',table_name) AS stmt
FROM information_schema.TABLES
WHERE table_schema='public' AND table_catalog='capsana' LOOP
EXECUTE drop_stmt;
END LOOP;
END$$;

关于sql - 创建脚本以删除多个表 (PostgreSQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com