PL/pgSQL的 RETURN NEXT例子

简介:

从网上找到例子:

可以说,RETURN NEXT要用在循环中:

例子一:

数据准备:

CREATE TABLE foo (fooid INT, foosubid INT, fooname TEXT);
INSERT INTO foo VALUES (1, 2, 'three');
INSERT INTO foo VALUES (4, 5, 'six');

生成函数:

复制代码
CREATE OR REPLACE FUNCTION getAllFoo() RETURNS SETOF foo AS
$BODY$
DECLARE
    r foo%rowtype;
BEGIN
    FOR r IN SELECT * FROM foo
    WHERE fooid > 0
    LOOP
        -- can do some processing here
        RETURN NEXT r; -- return next row of SELECT
    END LOOP;
    RETURN;
END
$BODY$
LANGUAGE 'plpgsql';
复制代码

运行结果:

复制代码
pgsql=# SELECT * FROM getallfoo();
 fooid | foosubid | fooname 
-------+----------+---------
     1 |        2 | three
     4 |        5 | six
(2 rows)

pgsql=# 
复制代码

例子二:

数据准备:

CREATE TABLE test (textcol varchar(10), intcol int); 
INSERT INTO test VALUES ('a', 1); 
INSERT INTO test VALUES ('a', 2); 
INSERT INTO test VALUES ('b', 5); 
INSERT INTO test VALUES ('b', 6); 

生成函数:

复制代码
CREATE OR REPLACE FUNCTION ReturnNexting(pText Text) RETURNS SETOF test AS $$ 
        DECLARE 
                rec RECORD; 
        BEGIN 
                FOR rec IN SELECT * FROM test WHERE textcol = pText LOOP 
                        RETURN NEXT rec; 
                END LOOP; 
                RETURN; 
        END; 
$$ 
LANGUAGE plpgsql; 
复制代码

运行结果:

目录
相关文章
|
Web App开发 编解码 Ubuntu
YouTube下载视频教程:常用的网站软件插件APP都有涉及
有时候可能需要YouTube上的视频来进行一些操作,比如教程演示,语言学习,视频编辑等.....那么YouTube视频怎么下载下来呢?方法比较多。在这篇文章里我会给大家介绍一些下载YouTube视频的常用网站、浏览器插件、电脑软件和手机APP,方便大家找到最合适的方法去保存油管视频。
2939 1
YouTube下载视频教程:常用的网站软件插件APP都有涉及
|
Java 应用服务中间件 网络安全
Tomcat配置ssl协议及遇到的问题https页面无法访问
Tomcat配置ssl协议及遇到的问题https页面无法访问
|
应用服务中间件 nginx
Nginx nginx: [error] open() "/usr/local/var/run/nginx.pid"
Nginx nginx: [error] open() "/usr/local/var/run/nginx.pid"
266 0
|
监控 Ubuntu Linux
如何使用不同的方法和命令来检查 Ubuntu 中的 CPU 数量?
如何使用不同的方法和命令来检查 Ubuntu 中的 CPU 数量?
624 0
如何使用不同的方法和命令来检查 Ubuntu 中的 CPU 数量?
|
前端开发 程序员 PHP
程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器
程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器
377 0
|
XML PHP 数据安全/隐私保护
phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
转:http://www.cnblogs.com/huangcong/p/3687665.html   首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.
2092 0
|
人工智能 搜索推荐 自动驾驶
使用 AI 工具是否会导致思考能力退化?如何应对?
文本探讨两个问题:使用 AI 工具是否会导致人类的思考能力退化?如何在使用AI工具的同时,保持甚至提高我们的思考能力?
732 0
使用 AI 工具是否会导致思考能力退化?如何应对?
PuTTy:PuTTy的简介、安装、使用方法之详细攻略
PuTTy:PuTTy的简介、安装、使用方法之详细攻略
PuTTy:PuTTy的简介、安装、使用方法之详细攻略
|
网络协议 网络虚拟化 芯片
AUTOSAR以太网通信架构概述
AUTOSAR以太网通信架构概述
AUTOSAR以太网通信架构概述
|
JavaScript API 开发者
uni-app开发常用操作速查记录
记录一下uni-app中常用的使用方法或是操作步骤,方便后期速查使用.
uni-app开发常用操作速查记录