返回首页

gbase数据、南大通用产品文档:GBase8s游标输入模式

更新日期:2024年09月11日

为了输入,游标以顺序的或滚动的两种模式中的一种运行。顺序的游标仅可访存序列中的
下一行,因此,每一次打开游标,顺序的游标仅可通读表一次。滚动游标可访存下一行或
任何输出行,因此,滚动游标可多次读取相同的行。下列示例展示在 GBase 8s ESQL/C 中
声明的顺序的游标。
EXEC SQL DECLARE pcurs cursor for
SELECT customer_num, lname, city
FROM customer;
在打开游标之后,仅可使用检索下一行数据的顺序的访存来使用它,如下例所示:
EXEC SQL FETCH p_curs into:cnum, :clname, :ccity;
每一顺序的访存返回一个新行。
使用关键字 SCROLL CURSOR 声明滚动游标,如来自 GBase 8s ESQL/C 的下列示例所示
的那样:

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 214 -

EXEC SQL DECLARE s_curs SCROLL CURSOR FOR
SELECT order_num, order_date FROM orders
WHERE customer_num > 104
使用不同的访存选项来使用滚动游标。
例如,
ABSOLUTE 选项指定要访存的行的绝对行位
置。
EXEC SQL FETCH ABSOLUTE :numrow s_curs
INTO :nordr, :nodat
此语句访存在主变量 numrow 中给出其位置的行。您还可在此访存当前的行,或您可访存
第一行然后再次扫描所有行。然而,这些特性可能导致应用程序运行得更慢,如下一部分
描述的那样。
要了解适用于滚动游标的附加的选项,
请参阅
《GBase 8s SQL 指南:
语法》

的 FETCH 语句。

取值:[1,10]
默认值:6
说明:加载orc 文件,并发解析时每个线程分配的行组个数。默认值为6 个行组。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。

删除 plogspace
(SQL
管理 API)
随同 admin() 或 task() 函数,使用 drop plogspace 参数来删除 plogspace。
语法

用法
要删除的 plogspace 必须为空。例如,如果您将物理日志移出 plogspace 并通过运行
onparams -p 命令移入 dbspace,则可删除该 plogspace。要不,您可通过创建新的
plogspace 将 plogspace 移到不同的 chunk。自动地移除旧的 plogspace。
这个函数等同于 onspaces -d 命令。
示例
下列示例删除 plogspace:
EXECUTE FUNCTION task("drop plogspace");