返回首页

gbase数据、南大通用产品文档:GBase8c

更新日期:2024年09月11日

SQLDisconnect
功能描述
关闭一个与特定连接句柄相关的连接。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
257
原型
SQLRETURN SQLDisconnect(SQLHDBC
ConnectionHandle);
参数
表8-21 SQLDisconnect 参数
关键字
参数说明
ConnectionHandle
连接句柄,通过SQLAllocHandle 获得。
返回值

SQL_SUCCESS:表示调用正确。

SQL_SUCCESS_WITH_INFO:表示会有一些警告信息。

SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。

SQL_INVALID_HANDLE:表示调用无效句柄。其他API 的返回值同理。
注意事项
当调用SQLDisconnect 函数返回SQL_ERROR 或SQL_SUCCESS_WITH_INFO 时,通
过调
用SQLGetDiagRec 函数,
并将HandleType 和Handle 参数设置为SQL_HANDLE_DBC
和ConnectionHandle,
可得到一个相关的SQLSTATE 值,
通过SQLSTATE 值可以查出调用此
函数的具体信息。
示例
参见8.2.23 示例。

PG_USER
PG_USER 视图提供了访问数据库用户的信息,
默认只有初始化用户和具有sysadmin 属
性的用户可以查看,其余用户需要赋权后才可以查看。
名称
类型
描述
usename
name
用户名。
usesysid
oid
此用户的ID。
usecreatedb
Boolean
用户是否可以创建数据库。
usesuper
Boolean
用户是否是拥有最高权限的初始系统管
理员。
usecatupd
Boolean
用户是否可以直接更新系统表。
只有uses
ysid=10 的初始系统管理员拥有此权限。
其他用户无法获得此权限。
userepl
Boolean
用户是否可以复制数据流。
passwd
text
密文存储后的用户口令,始终为*******
*。
valbegin
timestamp with time z
帐户的有效开始时间;
如果没有设置有效

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
931
名称
类型
描述
one
开始时间,则为NULL。
valuntil
timestamp with time z
one
帐户的有效结束时间;
如果没有设置有效
结束时间,则为NULL。
respool
name
用户所在的资源池。
parent
oid
父用户OID。
spacelimit
text
永久表存储空间限额。
tempspacelimit
text
临时表存储空间限额。
spillspacelimit
text
算子落盘空间限额。
useconfig
text[]
运行时配置参数的会话缺省。
nodegroup
name
用户关联的逻辑GBase 8c 名称,如果该
用户没有管理逻辑GBase 8c,则该字段
为空。

您可使用 CALL 语句,从 SPL 例程调用 SPL 例程或外部例程。CALL 可执行过程,也
可执行函数。如果您使用 CALL 来执行函数,则请添加 RETURNING 子句和将要接收该
函数返回的值的 SPL 变量的名称。
例如,假设您想要 scale_rectangles 函数调用计算矩形面积的外部函数,然后返回带有矩形
描述的面积,如下图所示。
图: 调用外部函数。
CREATE FUNCTION scale_rectangles( rectid INTEGER,
scale REAL )

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

RETURNING rectangle_t, REAL;

DEFINE rectv rectangle_t;
DEFINE a REAL;
SELECT rect INTO rectv
FROM rectangles WHERE id = rectid;
IF ( rectv IS NULL ) THEN
LET rectv.start = (0.0,0.0);
LET rectv.length = 1.0;
LET rectv.width = 1.0;
LET a = 1.0;
RETURN rectv, a;
ELSE
LET rectv.length = scale * rectv.length;
LET rectv.width = scale * rectv.width;
CALL area(rectv.length, rectv.width) RETURNING a;
RETURN rectv, a;
END IF;

END FUNCTION;
该 SPL 函数使用执行外部函数 area() 的 CALL 语句。返回的值 area() 保存在 a 中,并通
过 RETURN 语句返回到调用例程。
在此示例中,area() 是外部函数,但您可以同样的方式将 CALL 用于 SPL 函数。