千家信息网

PostgreSQL函数怎么返回表查询结果集

发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,这篇文章主要介绍"PostgreSQL函数怎么返回表查询结果集",在日常操作中,相信很多人在PostgreSQL函数怎么返回表查询结果集问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
千家信息网最后更新 2024年11月15日PostgreSQL函数怎么返回表查询结果集

这篇文章主要介绍"PostgreSQL函数怎么返回表查询结果集",在日常操作中,相信很多人在PostgreSQL函数怎么返回表查询结果集问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PostgreSQL函数怎么返回表查询结果集"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、创建测试表
create table jason01.jason123(aa varchar);
insert into jason01.jason123 values('aa');
insert into jason01.jason123 values('ab');
insert into jason01.jason123 values('bb');

postgres=# select * from jason01.jason123;
aa
----
aa
ab
bb
(3 rows)

二、创建函数

1、方法一:使用%rowtype
CREATE OR REPLACE FUNCTION jason01.fun_resultset() RETURNS SETOF jason01.jason123 AS
$$
DECLARE
r jason01.jason123%rowtype;
BEGIN
FOR r IN SELECT * FROM jason01.jason123 where aa like 'a%'
LOOP
RETURN NEXT r;
END LOOP;
RETURN;
END
$$ LANGUAGE plpgsql;


postgres=# select jason01.fun_resultset();
fun_resultset
---------------
(aa)
(ab)
(2 rows)


2、方法二:使用record类型
CREATE OR REPLACE FUNCTION jason01.fun_resultset1() RETURNS SETOF jason01.jason123 AS
$$
DECLARE
r record;
BEGIN
FOR r IN SELECT * FROM jason01.jason123 where aa like 'b%'
LOOP
RETURN NEXT r;
END LOOP;
RETURN;
END
$$ LANGUAGE plpgsql;


postgres=# select jason01.fun_resultset1();
fun_resultset1
----------------
(bb)
(1 row)


3、方法三:使用cursor + record
CREATE OR REPLACE FUNCTION jason01.fun_resultset2() RETURNS SETOF jason01.jason123 AS
$$
DECLARE
C CURSOR FOR SELECT * FROM jason01.jason123 where aa like 'a%';
R RECORD;
BEGIN
FOR r IN C
LOOP
RETURN NEXT r;
END LOOP;
RETURN;
END
$$ LANGUAGE plpgsql;


postgres=# select jason01.fun_resultset2();
fun_resultset2
----------------
(aa)
(ab)
(2 rows)

到此,关于"PostgreSQL函数怎么返回表查询结果集"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

函数 结果 查询 方法 学习 更多 帮助 实用 接下来 文章 理论 知识 篇文章 类型 网站 资料 跟着 问题 好用 实践 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 宝德网络技术有限公司贴吧 手机软件开发有哪些技术规范 勒索病毒数据库mdf修复 人脸识别系统需要哪些服务器 服务器导轨卡扣拆卸 税务 网络安全工作要求 单选题国家推进网络安全 oracle数据库密码锁表 数据库的max函数会走索引吗 硬件服务器叫什么模块 金寨网络技术及信息安全工程师 加强党政机关网络安全管理 福州龙猫互联网科技有限公司 如何成为优秀的数据库dba 北京软件开发技术 广州大学网络安全方班 商务局网络安全工作实施方案 游戏公司租用香港服务器价格 几月几号是网络安全日 什么吗是ae软件开发 软件开发培训有什么用 如何查询一些药物临床数据库 软件开发行业职位简称 教育系统·党员网络安全规范 提取多个表中的数据库 致景科技有限公司工业互联网 网络安全宣传视频人民警察 一台服务器多大功率 2020国家网络安全宣传挂图 沈阳数据库培训哪里有
0