为SQL语句创建包装函数。
函数返回1行,而函数所基于的查询返回100多行。参数值相同:
SELECT * FROM as_rpt.tasc_fsa( 'ABC', '2010-01-01'::date, '2011-01-01'::date );
tasc_fsa
函数是一个带有几个表连接的SELECT语句;函数语言是'sql'而不是'plpgsql'。
函数返回单行的原因是什么,但是当没有通过函数调用时,函数使用的完全相同的查询正确返回超过100行?
任何想法都会有所帮助。
谢谢!
答案 0 :(得分:3)
您使用RETURN SETOF ...?
SETOF表示您想要返回超过1行。
我很确定你忘了使用'RETURN SETOF'。
答案 1 :(得分:0)
你提到了“加入几张桌子”的功能。你的例子显然没有。如果正在执行连接,则可能导致较少的结果。
日期的解释方式是另一种可能性。当你得到1个答案时,它是否在你指定的范围内?