postgresql – plpgsql函数返回表(..)

postgresql – plpgsql函数返回表(..),第1张

概述我试图让这个plpgsql函数工作: CREATE OR REPLACE FUNCTION outofdate(actualdate varchar) RETURNS TABLE(designacion varchar(255),timebeingrotten varchar(255))AS $BODY$ SELECT designacao, actualdate - prazo FRO 我试图让这个plpgsql函数工作:
CREATE OR REPLACE FUNCTION outofdate(actualdate varchar) RETURNS table(designacion varchar(255),timebeingrotten varchar(255))AS $BODY$ SELECT designacao,actualdate - prazo FROM alimento WHERE prazo < actualdate;$BODY$LANGUAGE 'plpgsql' volatile;SELECT *From outofdate('12/12/2012');

它不断给我错误在第2行 – 表..

ERROR: Syntax error at or near
“table” liNE 2: RETURNS
table(designacion
varchar(255),timebeingrotten varch…
^

@H_419_16@*** Error @H_419_16@***@H_419_16@

ERROR: Syntax error at or near “table”
sql state: 42601 Character: 67

我不确定,但也许你使用旧版本的pg,而不支持RETURNS table语法.您的示例中的下一个问题是PL / pgsql语言的错误语法 – 查看手动语法 – 每个函数必须包含一个带有BEGIN … END的块.记录可以通过RETURN query语句返回.看看这个 tutorial.
CREATE OR REPLACE FUNCTION foo(a int)RETURNS table(b int,c int) AS $$BEGIN  RETURN query SELECT i,i+1 FROM generate_serIEs(1,a) g(i);END;$$LANGUAGE plpgsql;

呼叫:

SELECT * FROM foo(10);
总结

以上是内存溢出为你收集整理的postgresql – plpgsql函数返回表(..)全部内容,希望文章能够帮你解决postgresql – plpgsql函数返回表(..)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1169305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)