目 录CONTENT

文章目录

删除PostgreSQL中的所有表

大T
2022-01-03 / 0 评论 / 0 点赞 / 52 阅读 / 0 字

删除PostgreSQL中的所有表

删除postgresql中的所有表操作:

DO
$$
    DECLARE
        r RECORD;
    BEGIN
        -- 只删除表,不删除其他views、sequences
        -- 放在要删除的表的库的shcema下
        -- 如果是用单行执行的客户端工具,记得全选整个语句才能执行,单行执行会报语法错误。
        FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = current_schema())
            LOOP
                EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
            END LOOP;
    END
$$;
在datagrip中执行需要选中整个存储过程,不能直接选中单行执行,会报语法错。

执行后schema下的所有表会被删除,其他的不会删除

image

0

评论区