将默认文本参数设置为 PostgreSQL 函数会导致"column doesn't exist"错误



>我正在尝试创建一个具有两个文本参数的函数,第二个应该具有默认值"en"(它是一个本地化参数)。

CREATE FUNCTION nav.getpathtext_new(path text, locale text DEFAULT "en") RETURNS json AS
$BODY$DECLARE
-- function code here ...
RETURN array_to_json(_toJson);
END$BODY$
LANGUAGE plpgsql VOLATILE NOT LEAKPROOF;

我收到错误:

错误:"en"列不存在

第 1 行:...getpathtext_new(路径文本,区域设置文本默认"en")RETU..

                            ^

PostgreSQL版本是9.4。我做错了什么?

您需要

使用单引号'来指定文本值,以便

CREATE FUNCTION nav.getpathtext_new(path text, locale text DEFAULT "en") RETURNS json AS

成为

CREATE FUNCTION nav.getpathtext_new(path text, locale text DEFAULT 'en') RETURNS json AS

相关内容

最新更新