返回首页

gbase数据、南大通用产品文档:GBase8sOpen and Close

更新日期:2024年09月11日

声明一个游标变量后,可以用OPEN FOR语句打开:
l
将游标变量和查询相互关联(通常查询返回多行),查询中可以包含绑定变量的
占位符,它的值通过USING子句来指定。
l
处理查询:识别结果集。如果查询引用变量或游标参数,它的值会受影响。如果
查询有FOR UPDATE子句,会锁住结果集。将游标定位在结果集的第一行之前。
l
使用其他的OPEN FOR再次打开游标变量之前,不需要关闭它。在重新打开游标
变量后,与它关联的前一个查询会丢失。
注意:OPEN FOR 后跟的SQL语句必须加单引号
DROP TABLE IF EXISTS t1;
CREATE TABLE t1(id INT,col VARCHAR(10));
INSERT INTO t1 VALUES(123,'abc');
INSERT INTO t1 VALUES(456,'def');
DROP TABLE IF EXISTS t2;
CREATE TABLE t2(col VARCHAR(10));
DROP PROCEDURE IF EXISTS pro5;

CREATE OR REPLACE PROCEDURE pro5 AS
p_id INT:=456;
v_col VARCHAR(10);
TYPE t1CurTyp IS REF CURSOR;
cursor_a t1CurTyp;
BEGIN
OPEN cursor_a for 'SELECT col FROM t1 WHERE id=?' USING p_id;

GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 112 -

LOOP
FETCH cursor_a INTO v_col;
EXIT WHEN cursor_a%NOTFOUND;
INSERT INTO t2 VALUES(v_col);
END LOOP;
CLOSE cursor_a;
END;

CALL pro5();
SELECT * FROM t2;

可以使用 onstat -z 命令清除数据库服务器的统计信息(包括与 Enterprise Replication 相关
联的统计信息),并将概要文件计数设置为 0 。
如果使用 onstat -z 命令重置和监视某些字段的计数,那么应了解概要文件计数对于数据库
服务器管理的任何数据库中发生的所有活动都是增加的。任何用户都可以重设概要文件计
数从而对另一用户正在执行的监视进行干预。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 669 -
语法:

CopyManager 的继承关系
CopyManager 类位于org.postgresql.copy Package 中,
继承自java.lang.Object 类,
该类的
声明如下:
public class CopyManager
extends Object
构造方法
public CopyManager(BaseConnection connection)
throws SQLException
常用方法
表9-2 CopyManager 常用方法
返回值
方法
描述
throws
CopyIn
copyIn(String sql)
——
SQLException
long
copyIn(String sql, InputStream
from)
使用COPY FROM
STDIN

InputStream 中快速
向数据库中的表导
入数据。
SQLException,IOE
xception
long
copyIn(String sql, InputStream
from, int bufferSize)
使用COPY FROM
STDIN

InputStream 中快速
向数据库中的表导
入数据。
SQLException,IOE
xception
long
copyIn(String sql, Reader from)
使用COPY FROM
STDIN 从Reader 中
快速向数据库中的
表导入数据。
SQLException,IOE
xception
long
copyIn(String sql, Reader from,
int bufferSize)
使用COPY FROM
STDIN 从Reader 中
SQLException,IOE
xception

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
308
快速向数据库中的
表导入数据。
CopyOu t
copyOut(String sql)
——
SQLException
long
copyOut(String
sql,
OutputStream to)
将一个COPY TO
STDOUT 的结果集
从数据库发送到
OutputStream 类中。
SQLException,IOE
xception
long
copyOut(String sql, Writer to)
将一个COPY TO
STDOUT 的结果集
从数据库发送到
Writer 类中。
SQLException,IOE
xception