CREATE FUNCTION中支持PIPELINED和PIPE ROW语法
功能描述
CREATE FUNCTION中支持PIPELINED和PIPE ROW语法,让函数可以返回一个集合,在函数中还可以使用PIPE ROW语句,用来返回集合中的单个元素。
注意事项
PIPE ROW必须与PIPELINED语法配套使用。
语法格式
CREATE [ OR REPLACE ] FUNCTION func_name ( ... )
RETURNS rettype PIPELINED
...
![]()
CREATE FUNCTION详细语法及参数说明请参考CREATE FUNCTION。
参数说明
rettype
函数返回值的数据类型。
func_name
函数名称。
示例
1、创建函数。
CREATE OR REPLACE FUNCTION test()
RETURNS int
PIPELINED
AS $$
DECLARE
result RECORD;
row RECORD;
BEGIN
pipe row(1);
pipe row(2);
return;
END
$$
LANGUAGE plpgsql;
2、查询结果。
select * from table(test());
返回结果如下:
test
------
1
2
(2 rows)