GreenPlum/PostgreSQL 创建函数返回数据集

Posted DATA数据猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GreenPlum/PostgreSQL 创建函数返回数据集相关的知识,希望对你有一定的参考价值。

GreenPlum/PostgreSQL 创建函数返回数据集

一、创建表

create table dataset(
	id int,
	name varchar(25)
);

insert into dataset values(1,'A'),(2,'B'),(3,'C'),(4,'D');

二、创建函数 setof 表名

2.1 查询并返回指定表数据

create or replace function get_dataset()
returns setof dataset
language plpgsql
as $function$
begin 
	return query select * from dataset;
end;
$function$
;

2.2 执行函数,返回结果

select get_dataset()

2.3 对函数执行结果进行条件判断并过滤

select * from get_dataset() where id = 1;

三、创建函数 setof record

3.1 在执行函数时,通过输入表名称,查看表中数据,并依次返回每条表记录。

create or replace function get_datarows(in tablename text) 
returns setof record 
language plpgsql
as $function$
	declare rec record;
	begin
	for rec in EXECUTE 'select * from ' || tablename
	loop
		return next rec;
	end loop;
	return;
end;
$function$
;

3.2 执行函数时,需要指定表类型

select * from get_datarows('dataset') as dataset(id int,name varchar(25));

以上是关于GreenPlum/PostgreSQL 创建函数返回数据集的主要内容,如果未能解决你的问题,请参考以下文章

Greenplum(PostgreSql)中函数内游标的使用实例

在 Greenplum/Postgresql 数据库上使用 java 驱动程序创建序列不起作用

GreenPlum/PostGreSQL表锁处理

无法从 Windows 上的 pgadmin 连接到 greenplum postgresql

GreenPlum/PostGreSQL 通过“表磁盘存储文件“获取表最后“更新时间“

Greenplum/PostgreSQL中数据表数据去重的几种方法