我是PostgreSQL的新手,仍在学习绳索。

我有一个非常长的脚本来设置数据库的新副本。它创建功能,运行它们,执行一些插入和其他一些内容。当我尝试在PGADMINIII查询工具中运行整个脚本时,它会引发一个似乎没有意义的错误。

ERROR:  syntax error at or near ""
LINE 18: /*
         ^

在第一个Alter函数所有者语句之后,此错误将立即抛弃,该声明是在第一个创建函数语句之后。

如果我取出每个语句并单独运行它们,那么一切都可以。是什么赋予了?

错误之前的行:

ALTER FUNCTION table_exists(text) OWNER TO postgres;

错误的行:

/*
-- Function     : column_exists(text, text)
-- Function output  : true / false
*/

错误之后的行:

CREATE FUNCTION column_exists(tablename text, columnname text)
RETURNS boolean AS $$

BEGIN
    RETURN EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = $1 AND column_name = $2);
END;

$$LANGUAGE plpgsql;
有帮助吗?

解决方案

根据Fung的评论:

...实际上,在每个评论的开头,这实际上是一个不可访问的角色。陈述在单独运行时仍然有效的原因是因为我没有用评论来运行它们

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top