《PostgreSQL服务器编程》一一3.4 返回记录

本节书摘来自华章计算机《PostgreSQL服务器编程》一书中的第3章,第3.4节,作者:(美)Hannu Krosing, Jim Mlodgenski, Kirk Roybal 著
,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4 返回记录

到目前为止,我们所有的函数例子都描述了RETURN子句中的一个简单的标量值。对于更为复杂的返回类型,我们有几种选择。其中一种选择就是按照表定义返回一组记录。就本例而言,我们假设,你正在开发一个大型的软件开发升级过程,该程序使用了一个名称/值对的表结构来进行设置存储。要求你改变表结构,从键和分值栏改变到一系列的列,此时列的名称就是键的名称。顺便提一句,在你所部署的每个软件版本中,你都需要保存设置。
通过查看现有表中的CREATE TABLE语句,我们发现:
image

当你对表运行了一个select语句,你会发现并没有太多的设置,但这些设置已有不少版本,为此你需要创建一个更加明确的新表。
image

通过将设置数据转化成新的格式,我们可以实现一个insert语句和一个函数。该函数能够迅速地以新的表格式返回我们的数据。
我们继续定义函数:
image
image
image
image

上面的函数向调用查询返回了一个简单的数据行。该行包括了所有设置,这些设置之前被定义为键/值对,但是现在是明确的字段。通过改善函数和最终表,我们可以将设置的数据类型改得更加明确。但是,我只是一个作者,并不是“真正”的开发者,所以我把那个留给你吧!
接下来,使用函数进行转变:
image

大功告成!你可以在新的表结构中找到这些以表格形式展现的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值