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