gpt4 book ai didi

PostgreSQL 创建索引并检查表是否存在

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

我运行 PostgreSQL 版本 9.6.4 并需要创建一个索引,但想在创建索引之前检查表和索引是否已经存在。我尝试执行以下操作,但出现语法错误:

DO $$
BEGIN
IF (SELECT to_regclass('public.areacrossing') != null) THEN
CREATE INDEX IF NOT EXISTS areac_d_idx
ON public.areacrossing USING btree
(d_id)
TABLESPACE pg_default;
END
$$


ERROR: ERROR: Syntaxerror at the end of input
LINE 27: $$
^


SQL state: 42601
Character: 508

感谢 Laurenz Albe - 解决方案是:

DO $$
BEGIN
IF (SELECT to_regclass('public.areacrossing') IS NOT null)
THEN
CREATE INDEX IF NOT EXISTS areac_d_idx
ON public.areacrossing USING btree
(d_id)
TABLESPACE pg_default;
END IF;
END $$;

最佳答案

您必须使用 END IF; 关闭 IF block 。

适当的缩进可以帮助您避免此类错误。

关于PostgreSQL 创建索引并检查表是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49926532/

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