`

在postgresql 中使用plpgsql函数返回表格记录集(转)

阅读更多

  关 键 词:   
近来在一个project中用到了pg(postgresql),客户需要很多表格,有些是典型的中国式报表(接触过的人都知道非常的复杂),所以分了两 种方法解决:一、不需要用参数控制数据的,用view;二、需要用参数控制数据的用function; 第一类比较简单,只要会sql就可以解决;第二类中,最复杂的是要进行数据处理的,(比如每页加入小计,最后要有合计的),查了一下资料,在8.3中有两 种方法可以解决这个问题,现总结如下: 一、使用returen next 例子如下:
CREATE OR REPLACE FUNCTION fun1() RETURNS SETOF tbl AS

$

DECLARE

r tbl%rowtype;

BEGIN

FOR r IN SELECT * FROM tbl

LOOP

-- 进行处理

RETURN NEXT r; -- 返回当前选中的行

END LOOP;

RETURN;

END

$

LANGUAGE 'plpgsql' ;



SELECT * FROM fun1();二、使用return query(8.3中的新方法,据说性能要比上面的好)
CREATE OR REPLACE FUNCTION fun2() RETURNS SETOF tbl AS

$

BEGIN

--数据处理

return query SELECT * FROM tbl;

END

$

LANGUAGE 'plpgsql' ;

SELECT * FROM fun2();有人说“一图胜千言”,个人习惯,宁愿别人给我例子,也不要一大堆理论的说教,所以只给出例子。如果你会写plpgsql函数,只需要把 --注释的地方换成你需要的处理语句就行了,我就不再啰嗦了 ^_^;如果不懂,要么自己学习一下函数的写法,要么等我什么时候写写pg的函数用法(如果有需要强烈的话^_^) ps:为了实际运行上面的代码你需要先运行下面的代码: create table tbl(col1 int,col2 text); INSERT INTO tbl VALUES (1,'AAA'); INSERT INTO tbl VALUES (2, 'BBB');

 

 

分享到:
评论

相关推荐

    如何在plpgsql函数中返回结果集!.txt

    通过本文介绍的方法,我们学会了如何在PL/pgSQL函数中返回结果集,包括使用循环遍历查询结果和直接使用SQL语句两种方式。这些方法对于处理数据库中的批量数据非常有用,可以帮助开发者更加高效地管理数据操作。

    postgresql汉字转拼音函数

    支持2万+汉字转拼音

    postgresql 兼容 oracle 函数

    安装和使用"orafce-3.1.2"扩展,通常需要在PostgreSQL服务器上执行SQL命令进行安装,并在查询中调用这些函数。需要注意的是,虽然orafce提供了很大的兼容性,但并非所有Oracle的特性都能完全复现,所以在实际应用时...

    PostgreSQL IF/IFNULL 函数 内核开发

    1. 博客:PostgreSQL的学习心得和知识总结(六十七)|语法级自上而下完美实现MySQL数据库的 IF函数和IFNULL函数 的实现方案

    PostgreSQl函数部分阅读笔记

    PostgreSQl函数部分阅读笔记 关于函数部分在PostgreSQL中的实现问题的解释 聚集函数

    DB2到GreenPlum/PostgreSQL的转换指南

    在转换时,应特别注意这些函数在两种数据库系统中的差异,以及如何适当地替换它们。 #### 2.9 ORDER BY, GROUP BY & HAVING ORDER BY、GROUP BY和HAVING子句用于对查询结果进行排序和分组。DB2与GreenPlum/...

    postgresql 实现c language外部函数调用

    在PostgreSQL中,有时需要利用C语言来编写高性能或安全的关键功能,这可以通过创建外部函数实现。本教程将详细介绍如何在PostgreSQL中实现C语言外部函数的调用,包括环境配置、源代码编写、编译、创建函数以及测试...

    postgresql汉字转拼音首字母函数

    支持2万+汉字转拼音首字母

    postgresql汉字转拼音首字母函数,用于批量生成助记码、拼音码,包含两万多个汉字

    postgresql汉字转拼音首字母函数,用于批量生成助记码、拼音码,包含两万多个汉字。

    PostgreSQL中文手册9.2

    PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (函数和操作符 函数和操作符 函数和操作符 <一>) 25 一、逻辑操作符: 一、逻辑操作符: 一、逻辑操作符: 一、逻辑操作符: .25 四、字符串函数和操作...

    PostgreSQL简单函数创建

    首先,我们需要理解自定义函数在PostgreSQL中的作用。自定义函数允许用户根据特定需求扩展数据库的功能,这些函数可以是SQL级别的,也可以是C语言级别的。当SQL级别的函数不能满足复杂计算或性能要求时,我们可以...

    postgresql中判断是否为数字和是否为时间日期格式的相关函数

    postgresql中判断是否为数字和是否为时间日期格式的相关函数,类似于sqlserver中的isDate和isnumeric函数

    关于PostGreSQL中的存储过程

    在 .NET 中,可以使用 Npgsql 组件来连接 PostgreSQL 数据库,并使用函数来查询数据。例如,以下是一个使用函数来查询数据的 C# 代码: ```csharp using (NpgsqlConnection conn = new NpgsqlConnection...

    postgresql-functions:自定义 PostgreSQL 函数和扩展

    两个 plpgsql 函数,用于在整个数据库的所有或部分表中查找字符串或正则表达式的出现。 它返回包含该值的行的表、列和ctid ,以及在正则表达式搜索的情况下的值本身。 搜索可以限于表和/或模式的阵列。 可选择通过...

    postgres全角转半角函数.txt

    对postgresql数据库中不规则的数据批量处理查询,有些是全角的,需要转换查询,匹配,可以使用这个方法postgres全角转半角函数.txt

    Postgresql的字符串操作函数

    在PostgreSQL数据库系统中,字符串操作函数是进行数据处理和查询时不可或缺的一部分。这些函数提供了对文本字符串的各种操作,如拼接、截取、查找、替换等,极大地丰富了SQL语句的功能。以下是对PostgreSQL字符串...

    postgreSQL 拼音字库 汉字转拼音 8.4

    网上传的postgreSQL汉字转拼音的方法,是针对9.3的版本(相信你要是8.4的也搜到了但不能直接用,才来看我的),尝试了8.4的版本来做拼音处理。发现网上的《postgreSQL汉字转拼音》里面坑比较多,尝试纠正了一下,发...

    postgresql数据类型转换.pdf

    在PostgreSQL中,某些转换是自动发生的(隐式转换),而有些则需要显式进行(如使用 cast() 函数)。例如,整数类型可以直接赋值给数值类型的列,而字符串转换为数值则需要显式的转换。 在对数据进行类型转换时,还...

    PostgreSQL的Window分析函数源码优化

    综上所述,《PostgreSQL的Window分析函数源码优化》一文提出了一种基于临时窗口和组共享思想的优化方案,该方案有效地解决了Window函数在大数据处理中的性能瓶颈问题。通过实验验证,该方案不仅能够显著提高特定类型...

    postgresql的类似sqlserver的isdate方法

    为了在PostgreSQL中实现与SQL Server `ISDATE`相似的功能,我们可以使用PL/pgSQL语言编写一个自定义函数。具体代码如下: ```sql CREATE OR REPLACE FUNCTION isdate(in_date text) RETURNS integer AS $BODY$ ...

Global site tag (gtag.js) - Google Analytics