【发布时间】:2013-01-20 14:10:33
【问题描述】:
我在这里得到了一些帮助,得到了以下代码:
-- Setup Solrid Function
CREATE OR REPLACE FUNCTION solrid(IN local_id INTEGER, OUT result TEXT) AS $$
DECLARE
database_id TEXT := 'A';
BEGIN
result := database_id || local_id::TEXT;
END;
$$ LANGUAGE PLPGSQL;
但是,当我在 sqlfiddle 中运行它时,它会说:
架构创建失败:错误:未终止的美元引号字符串位于或 “$$ DECLARE database_id TEXT := 'A'”附近:
这个错误似乎很容易解释,但我不知道如何解决它。有人介意对此有所了解吗?
【问题讨论】:
-
有趣,在我的本地数据库(postgresql 9.1)上工作得很好
-
可能是 sqlfiddle 的错误?我已经尝试了几个不同的版本,每次都会抛出相同的错误。
-
首先提供您使用的版本号以及如何执行代码。
-
对不起 Jimmy,这是 SQL Fiddle 中令人困惑的部分。问题是函数体中的分号破坏了我的默认解析机制。如果您将“查询终止符”更改为分号以外的其他内容(默认),您的函数将正常工作:sqlfiddle.com/#!1/ede11
标签: database postgresql debian