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行 – 表..
我不确定,但也许你使用旧版本的pg,而不支持RETURNS table语法.您的示例中的下一个问题是PL / pgsql语言的错误语法 – 查看手动语法 – 每个函数必须包含一个带有BEGIN … END的块.记录可以通过RETURN query语句返回.看看这个 tutorial.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
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函数返回表(..)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)