1

我有一个非常简单的查询:

DROP TYPE IF EXISTS abc;

在我的本地机器上运行时,一切都很好。在我的生产机器上运行时,它返回:

ERROR:  syntax error at or near "EXISTS" at character 14

我尝试手动输入而不是复制以确保某处没有隐藏字符,但我无法弄清楚这如何会在一个地方出现错误,而在另一个地方却没有。

4

1 回答 1

3

检查您正在使用的版本,包括本地版本和生产版本。

if exists子句仅drop type在 8.2 中添加。

而且,在有人质疑它为什么抱怨exists而不是之前if,这是因为声明:

drop type if

if到那时为止是完全有效的,作为删除类型的尝试。只有在exists那之后才会使语法变差。

于 2013-04-23T04:01:01.970 回答