如何解决在“”或附近的Postgres零长度分叉标识符
您好,我想在Postgres数据库(版本12)中创建简单的函数 功能:
CREATE OR REPLACE FUNCTION crm.now()
RETURNS timestamptz AS
""
SELECT NOW();
"" LANGUAGE SQL IMMUTABLE;
ALTER FUNCTION crm.now();
我收到错误消息ERROR: zero-length delimited identifier at or near """" LINE 3:""
我是Postgres的新手,所以请您能帮我解决此问题的原因和解决方法?谢谢!
解决方法
函数的主体需要作为string literal传递,在SQL中使用单引号('
)指定。双引号仅用于identifiers;
CREATE OR REPLACE FUNCTION crm.now()
RETURNS timestamptz AS
'
SELECT NOW();
'
LANGUAGE SQL;
或者,您可以使用dollar quoted字符串常量:
CREATE OR REPLACE FUNCTION crm.now()
RETURNS timestamptz AS
$body$
SELECT NOW();
$body$
LANGUAGE SQL;
返回now()
的函数应该从不标记为不变。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。