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

  直接上代码,具体整体函数定义就不上了,只写关键部分:

--定义两个变量
DECLARE

CCUR REFCURSOR; -- 游标变量
RECORD1 RECORD; -- 记录变量,用来存储游标遍历的结果

BEGIN

 OPEN CCUR FOR EXECUTE ‘select * from table1‘; -- 打开并执行游标的查询
 LOOP -- 遍历
 FETCH CCUR INTO RECORD1; -- 获取游标的内容
 IF FOUND THEN --  判断有内容
 --- 相关语句
 ELSE EXIT; -- 否则退出
 END IF;
 END LOOP;
 CLOSE CCUR; -- 最后记得关闭游标END;

原文地址:https://www.cnblogs.com/lbhqq/p/11642977.html

时间: 2024-11-14 12:32:20

Greenplum(PostgreSql)中函数内游标的使用实例的相关文章

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

GP主要用于数据仓库领域,在GP数据库中,如果由于ETL重复跑数导致数据重复的话,就需要进行去重复操作. 一种方法是把某一时间段的数据全部删掉,然后重新跑数据,这样其实工作量也比较大,需要补数据,重跑ETL. 另一种方法就是把重复的数据删掉就行,本文就是针对Greenplum分布式数据库如何进行去重复删除操作. 对于在PostgreSQL中,唯一确定一行的位置的是用ctid,可以用这个ctid作为一行的唯一标识:在Oracle中,数据表中的一行的唯一标识可以使用ROWID进行标识,这作为这一行的

postgreSQL中函数json_populate_recordset的参数null::myrowtype如何使用

postgreSQL可以对json数据进行操作,其中json_populate_recordset()函数可以将json数据转化为表,说明文档中该函数参数如下:           son_populate_recordset(base anyelement, from_json json) jsonb_populate_recordset(base anyelement, from_json jsonb) setof anyelement Expands the outermost array

postgresql/hive中函数学习

目前postgresql中的部分函数在hive中也是存在的,所以今天就以postgresql为例来进行说明,这个过程同时可以应用到hive中. 1.创建表 CREATE TABLE employee (     empid INT,     deptid INT,     salary DECIMAL (10, 2) ); 2.导入数据  INSERT INTO employee VALUES(1, 10, 5500.00);  INSERT INTO employee VALUES(2, 10

Postgresql中存储过程(函数)调用存储过程(函数)时应用注意的问题

在postgresql中我们在执行存储过程中往往会使用select 存储过程,但是如果存储过程中再调用 存储过程时,就不能这样用了,应该用perform 存储过程,来看看官方文档的说明 ===================================================================== 执行一个没有结果的表达式或者命令 有时候我们希望计算一个表达式或者一个命令,但是却丢弃其结果(通常因为我们经常调用一些存在有用的副作用但是不存在有用结果值的函数). 要在 P

[转]greenplum(postgresql)之数据字典

greenplum是基于postgresql开发的分布式数据库,里面大部分的数据字典是一样的.我们在维护gp的时候对gp的数据字典比较熟悉,特此分享给大家.在这里不会详细介绍每个字典的内容,只会介绍常见的应用以及一些已经封装好了的函数.具体的介绍大家可以去看postgresql的中文文档(附件),里面有详细的解释. 1.postgresql中,所有数据库的对象都是用oid连接在一起的. 这样子会造成我们在理解数据字典的时候有一些不知所云.下面介绍几个函数,可以简化很多的操作. 名字 引用 描述

对JS中函数的理解

函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能) var fn=function(a){return a+100;} fn=function(a){return a+200;} alert(fn(100)); //300 要访问函数的引用(指针)而不是执行函数时,必须去掉圆括号,加上圆括号表示访问函数执行后的结果 函数体内部的语句在执行时,一旦

js中函数参数值传递和引用传递

js中函数参数值传递和引用传递:在阅读本章节之前建议参阅一下两章节:1.值类型可以参阅javascript的值类型一章节.2.引用类型可以参阅javascript的引用类型一章节.一.函数传递值类型:代码实例如下: function addNum(num) { num+=10; return num; } var num=10; var result=addNum(num); console.log(num); console.log(result); 以上代码的弹出值分别为:10和20,下面进

Javascript中函数的四种调用方式

一.Javascript中函数的几个基本知识点: 1.函数的名字只是一个指向函数的指针,所以即使在不同的执行环境,即不同对象调用这个函数,这个函数指向的仍然是同一个函数. 2.函数中有两个特殊的内部属性:arguments和this. arguments主要是用来保存函数参数,arguments中的callee属性主要是用来指向拥有当前arguments的函数(理解Javascript参数中的arguments对象). 3.在ECMAScript5中规范了另一个函数属性:caller(Opera

php session_id()函数介绍及代码实例

session_id()功能: 获取设置当前回话ID. 函数说明: string session_id ([ string $id ] ) 参数: 如果指定了参数$id,那么函数会替换当前的回话id. session_id()函数必须在session_start()函数之前调用. 返回值: session_id返回当前会话id字符串.如果当前没有产生会话,则返回空字符串"". 代码示例1: 输出 session_id() 1 2 3 4 <?php     session_sta