首页 / 新闻

12.

18

2015

【技术】Hadoop平台主流SQL引擎中唯一支持原生游标的产品:Inceptor

技术博客

在数据库中,游标 是一个十分重要的概念,它提供了一种对从表中检索出的数据进行遍历的灵活手段,让我们可以对查询结果逐行处理,让我们可以对查询的结果集执行复杂的逻辑, 极大地提高了SQL的表达能力,使得在数据库中构建复杂应用更加轻松。Transwarp Inceptor是目前Hadoop平台上主流SQL引擎中唯一支持原生游标语义的产品,使得用户可以在分布式系统上无缝的使用游标来遍历大数据中的数据集。既具备分布式系统的强大处理能力,又具备游标的灵活用法。Transwarp Inceptor同时支持Oracle PL/SQL和DB2 SQL PL两大主流语法标准,其中包括了对游标的完整支持。今天,我们介绍Transwarp Inceptor PL/SQL中游标的使用。

 

1.1. 显式游标

 

 

1. 显式游标的属性

 

 

下面我们用一些例子来具体介绍显式游标的使用方法。

 

不带参数的显式游标使用示例

 

 

带参数的显式游标使用示例

 

 

 

1.2. 隐式游标

 

隐式游标是没有明确的声明语句的游标类型。所有的DML操作都被Inceptor内部解析为一个游 标名为SQL的隐式游标。

 

 

隐式游标使用示例

 

 

1.3. 游标变量

 

像游标一样,游标变量指向指定查询结果集当前行,但是相对游标,游标变量更加灵活因为其 声明并不绑定指定查询。要定义一个游标变量,您需要先声明一个游标类型 REF CURSOR。 然后定义这个类型的游标变量。

 

游标变量的使用步骤如下:

 

游标变量可分为两类,强类型和弱类型的:

 

• 如果在声明游标类型REF CURSOR的时候指定了返回类型,那么REF CURSOR及其类型的游标 变量被称为强类型。

 

• 如果在声明游标类型REF CURSOR的时候不指定返回类型,那么REF CURSOR及其类型的游标 变量被称为弱类型。

 

游标变量使用示例