gpt4 book ai didi

postgresql - 仅当目标表名不存在时如何重命名 postgres 表

转载 作者:行者123 更新时间:2023-12-02 19:56:42 25 4
gpt4 key购买 nike

我想在迁移过程中重命名一个表,但前提是该表尚未重命名。我目前正在运行:

ALTER TABLE IF EXISTS old_name RENAME TO new_name

但是,如果 new_name 已经存在,它仍然会运行。当且仅当 new_name 不存在时,是否有运行此语句的方法?

最佳答案

你总是可以编写类似于以下的匿名代码块(或用户定义的函数/过程):

DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_tables WHERE tablename = 'z') THEN
EXECUTE 'ALTER TABLE a RENAME TO z';
END IF;
END$$;

据我所知,您不能直接使用 ALTER TABLE 命令指定它。

关于postgresql - 仅当目标表名不存在时如何重命名 postgres 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56851808/

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