返回首页

gbase数据、南大通用产品文档:GBase8a标识符语法规则

更新日期:2024年09月11日

数据库、表、列和别名等对象的名称都称为标识符,这部分描述GBase 8a MPP
Cluster 中标识符允许的语法规则。
表5- 1 描述每一个类型标识符允许的最大长度和可使用的字符。
标识符
最大长度(字符)
允许的字符
数据库
英文48
中文48
a~z、A~Z、0~9、下划线,必须以字母或下划线
开头,支持中文数据库。

英文56
中文21
a~z、A~Z、0~9、下划线、中文,必须以字母或
下划线开头,支持中文表。
视图
英文56
中文50
a~z、A~Z、0~9、下划线,必须以字母或下划线
开头,支持中文视图。

英文64
中文64
a~z、A~Z、0~9、-、下划线、中文,必须以字
母或下划线开头,支持中文列。
别名
英文256
中文85
a~z、A~Z、0~9、下划线,必须以字母或下划线
开头,支持中文别名。
存储过程
英文64
中文64
a~z、A~Z、0~9、下划线,必须以字母或下划线
开头,支持中文存储过程。
用户变量
由a~z、A~Z、0~9、下划线组成,必须以字母
或下划线开头。用户变量名大小写不敏感。
注意
1、
除了表内注明的限制,
标识符不可以包含ASCII(0)或ASCII(255)。
数据库、
表和列名不应以空格结尾。
2、
如果标识符是一个限制词或包含特殊字符,当用户使用它时,必须总是用
``引用它,比如:SELECT * FROM `select`.id>100。
3、
如果标识符长度超过最大长度限制,数据库、表、列、视图、存储过程的
命令将报错,而别名将会截断至256 个字符进行显示。
4、
实际应用系统中,标识符不得使用GBase 8a MPP Cluster 的保留字,也不
能包含特殊字符。
GBase 8a MPP Cluster 数据库支持的保留字,
请参见5.1.2
章节部分的GBase 8a MPP Cluster 分析型数据库保留字。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
622

集合派生的表这一节中的查询示例通过使用 TABLE 关键字后面
(括号内)
跟 SELECT 语
句来指定集合派生的表。该语法是对 SQL 语言的 ANSI/ISO 标准的 GBase 8s 扩展。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 148 -
但是,在
(且仅在)SELECT 的 FROM 子句中,可以通过指定子查询来代替使用 SQL 符
合 ANSI/ISO 标准的语法,在不使用 TABLE 关键字或嵌套括号的情况下,来定义集合派
生的表。
下列查询在逻辑上等价于 图 3,并为集合派生的表 c_table 指定拍摄了列
表 s_month 和 s_amount。
图: 查询
SELECT * FROM (SELECT sales FROM sales_rep
WHERE sales_rep.rep_num = 102) c_table(s_month, s_amount);
图: 查询结果
s_month s_amount

1998-03 $53.22
1998-04 $18.22
如 GBase 8s 扩展语法中一样,声明派生表或其列的名称是可选的,而不是必需的。下列查
询对外部查询的 FROM 子句使用符合ANSI/ISO 标准的语法,并产生与图 5相同的结果:

图: 查询
SELECT * FROM (SELECT sales FROM sales_rep
WHERE sales_rep.rep_num = 102);
图: 查询结果
month amount

1998-03 $53.22
1998-04 $18.22

PKG_UTIL 支持的所有接口请参见表17-16:
表17-16 PKG_UTIL
接口名称
描述
PKG_UTIL.LOB_GET_LENGTH
获取lob 的长度。
PKG_UTIL.LOB_READ
读取lob 对象的一部分。
PKG_UTIL.LOB_WRITE
将源对象按照指定格式写入到目标对象。
PKG_UTIL.LOB_APPEND
将lob 源对象指定个数的字符追加到目标lo
b 对象。
PKG_UTIL.LOB_COMPARE
根据指定长度比较两个lob 对象。
PKG_UTIL.LOB_MATCH
返回一个字符串在LOB 中第N 次出现的位
置。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
690
接口名称
描述
PKG_UTIL.LOB_RESET
将lob 的指定位置重置为指定字符。
PKG_UTIL.IO_PRINT
将字符串打印输出。
PKG_UTIL.RAW_GET_LENGTH
获取raw 的长度。
PKG_UTIL.RAW_CAST_FROM_VARCHA
R2
将varchar2 转化为raw。
PKG_UTIL.RAW_CAST_FROM_BINARY_
INTEGER
将binary integer 转化为raw。
PKG_UTIL.RAW_CAST_TO_BINARY_INT
EGER
将raw 转化为binary integer。
PKG_UTIL.SET_RANDOM_SEED
设置随机种子。
PKG_UTIL.RANDOM_GET_VALUE
返回随机值。
PKG_UTIL.FILE_SET_DIRNAME
设置当前操作的目录。
PKG_UTIL.FILE_OPEN
根据指定文件名和设置的目录打开一个文
件。
PKG_UTIL.FILE_SET_MAX_LINE_SIZE
设置写入文件一行的最大长度。
PKG_UTIL.FILE_IS_CLOSE
检测一个文件句柄是否关闭。
PKG_UTIL.FILE_READ
从一个打开的文件句柄中读取指定长度的
数据。
PKG_UTIL.FILE_READLINE
从一个打开的文件句柄中读取一行数据。
PKG_UTIL.FILE_WRITE
将BUFFER 中的数据写入到文件中。
PKG_UTIL.FILE_WRITELINE
将buffer 写入文件,并追加换行符。
PKG_UTIL.FILE_NEWLINE
新起一行。
PKG_UTIL.FILE_READ_RAW
从一个打开的文件句柄中读取指定长度的
二进制数据。
PKG_UTIL.FILE_WRITE_RAW
将二进制数据写入到文件中。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
691
接口名称
描述
PKG_UTIL.FILE_FLUSH
将一个文件句柄中的数据写入到物理文件
中。
PKG_UTIL.FILE_CLOSE
关闭一个打开的文件句柄。
PKG_UTIL.FILE_REMOVE
删除一个物理文件,操作需要有对应权限。
PKG_UTIL.FILE_RENAME
对于磁盘上的文件进行重命名,类似Unix
的mv。
PKG_UTIL.FILE_SIZE
返回文件大小。
PKG_UTIL.FILE_BLOCK_SIZE
返回文件含有的块数量。
PKG_UTIL.FILE_EXISTS
判断文件是否存在。
PKG_UTIL.FILE_GETPOS
返回文件的偏移量,单位字节。
PKG_UTIL.FILE_SEEK
设置文件位置为指定偏移。
PKG_UTIL.FILE_CLOSE_ALL
关闭一个会话中打开的所有文件句柄。
PKG_UTIL.EXCEPTION_REPORT_ERROR
抛出一个异常。
PKG_UTIL.RANDOM_SET_SEED
设置一个随机数种子。
pkg_util.app_read_client_info
读取client_info 信息。
pkg_util.app_set_client_info
设置client_info 信息。
pkg_util.lob_converttoblob
clob 类型转换成blob 类型。
pkg_util.lob_converttoclob
blob 类型转换成clob 类型。
pkg_util.lob_rawtotext
raw 类型转成text 类型。
pkg_util.lob_reset
清空一个lob 类型的数据。
pkg_util.lob_texttoraw
text 类型转成raw 类型。
pkg_util.lob_write
将数据写入lob 类型。
pkg_util.match_edit_distance_similarity
计算两个字符串的差距。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
692
接口名称
描述
pkg_util.raw_cast_to_varchar2
raw 类型转成varchar2 类型。
pkg_util.session_clear_context
清空session_context 中的属性值。
pkg_util.session_search_context
查找一个属性值。
pkg_util.session_set_context
设置一个属性值。
pkg_util.utility_format_call_stack
查看存储过程的调用堆栈。
pkg_util.utility_format_error_backtrace
查看存储过程的错误堆栈。
pkg_util.utility_format_error_stack
查看存储过程的报错信息。
pkg_util.utility_get_time
查看系统unix 时间戳。

PKG_UTIL.LOB_GET_LENGTH
该函数LOB_GET_LENGTH 获取输入数据的长度。
PKG_UTIL.LOB_GET_LENGTH 函数原型为:
PKG_UTIL.LOB_GET_LENGTH(
lob
IN
anyelement
)
RETURN INTEGER;
表17-17 PKG_UTIL.LOB_GET_LENGTH 接口参数说明
参数
类型
入参/出参
是否可以为空
描述
lob
clob/blo
b
IN

待获取长度的对象。

PKG_UTIL.LOB_READ
该函数LOB_READ 读取一个对象,并返回指定部分。
PKG_UTIL.LOB_READ 函数原型为:
PKG_UTIL.LOB_READ(
lob
IN
anyelement,
len
IN
int,

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
693
start
IN
int,
mode
IN
int
)
RETURN ANYELEMENT
表17-18 PKG_UTIL.LOB_READ 接口参数说明
参数
类型
入参/出参
是否可以
为空
描述
lob
clob/
blob
IN

clob 或者blob 类型数据。
len
int
IN

返回结果长度。
start
int
IN

相较于第一个字符的偏移量。
mode
int
IN

判断读取操作的类型,0 :read; 1 : t
rim; 2 : substr。

PKG_UTIL.LOB_WRITE
该函数LOB_WRITE 将源对象按照指定的参数写入目标对象, 并返回目标对象。
PKG_UTIL.LOB_WRITE 函数原型为:
PKG_UTIL.LOB_WRITE(
dest_lob
INOUT
anyelement,
src_lob
IN
varchar2
len
IN
int,
start
IN
int
)
RETURN ANYELEMENT;
表17-19 PKG_UTIL.LOB_WRITE 接口参数说明
参数
类型
入参/出参
是否可以为空
描述
dest_lob
clob/b
lob
INOUT

写入的目标对象。
src_lob
clob/b
lob
IN

被写入的源对象。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
694
参数
类型
入参/出参
是否可以为空
描述
len
int
IN

源对象的写入长度。
start
int
IN

目标对象的写入起始位置。

PKG_UTIL.LOB_APPEND
该函数LOB_APPEND 将源blob/clob 对象追加到目标blob/clob 对象, 并返回目标对象。
PKG_UTIL.LOB_APPEND 函数原型为:
PKG_UTIL.LOB_APPEND(
dest_lob
INOUT
blob,
src_lob
IN
blob,
len
IN
int default NULL
)
RETURN BLOB;
PKG_UTIL.LOB_APPEND(
dest_lob
INOUT
clob,
src_lob
IN
clob,
len
IN
int default NULL
)
RETURN CLOB;
表17-20 PKG_UTIL.LOB_APPEND 接口参数说明
参数
类型
入参/
出参
是否可以
为空
描述
dest_lob
blob/c
lob
INOUT

写入的目标blob/clob 对象。
src_lob
blob/c
lob
IN

被写入的源blob/clob 对象。
len
int
IN

写入源对象的长度,
为NULL 则默认写入
源对象全部。

PKG_UTIL.LOB_COMPARE
该函数LOB_COMPARE 按照指定的起始位置、个数比较对象是否相同,lob1 大则返回

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
695
1,lob2 大返回-1,相等返回0。
PKG_UTIL.LOB_COMPARE 函数原型为:
PKG_UTIL.LOB_COMPARE(
lob1
IN
anyelement,
lob2
IN
anyelement,
len
IN
int,
start1
IN
int,
start2
IN
int
)
RETURN INTEGER;
表17-21 PKG_UTIL.LOB_COMPARE 接口参数说明
参数
类型
入参/
出参
是否可以
为空
描述
lob1
clob/bl
ob
IN

待比较的字符串。
lob2
clob/bl
ob
IN

待比较的字符串。
len
int
IN

比较的长度。
start1
int
IN

lob1 起始偏移量。
start2
int
IN

lob2 起始偏移量。

PKG_UTIL.LOB_MATCH
该函数LOB_MATCH 返回pattern 出现在lob 对象中第match_nth 次的位置。
PKG_UTIL.LOB_MATCH 函数原型为:
PKG_UTIL.LOB_MATCH(
lob
IN
anyelement,
pattern
IN
anyelement,
start
IN
int,
match_nth
IN
int
)
RETURN INTEGER;

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
696
表17-22 PKG_UTIL.LOB_MATCH 接口参数说明
参数
类型
入参/
出参
是否可以
为空
描述
lob
clob/bl
ob
IN

待比较的字符串。
pattern
clob/bl
ob
IN

待匹配的pattern。
start
int
IN

lob 的起始比较位置。
match_nt
h
int
IN

第几次匹配到。

PKG_UTIL.LOB_RESET
该函数LOB_RESET 清除一段数据为字符value。
PKG_UTIL.LOB_RESET 函数原型为:
PKG_UTIL.LOB_RESET(
lob
INOUT
bytea,
len
INOUT
int,
start
IN
int DEFAUTL 1,
value
IN
char default 0
)
RETURN record;
表17-23 PKG_UTIL.LOB_RESET 接口参数说明
参数


入参/出

是否
可以
为空
描述
lob
byte
a
IN

待重置的字符串。
len
int
IN

重置的长度。
start
int
IN

重置的起始位置。
value
int
IN

设置的字符。默认值‘0’。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
697

PKG_UTIL.IO_PRINT
该函数IO_PRINT 将一段字符串打印输出。
PKG_UTIL.IO_PRINT 函数原型为:
PKG_UTIL.IO_PRINT(
format
IN
text,
is_one_line
IN
boolean
)
RETURN void;
表17-24 PKG_UTIL.IO_PRINT 接口参数说明
参数


入参/出

是否
可以
为空
描述
format
text
IN

待打印输出的字符串。
is_one_li
ne
bool
ean
IN

是否输出为一行。

PKG_UTIL.RAW_GET_LENGTH
该函数RAW_GET_LENGTH 获取raw 的长度。
PKG_UTIL.RAW_GET_LENGTH 函数原型为:
PKG_UTIL.RAW_GET_LENGTH(
value
IN
raw
)
RETURN integer;
表17-25 PKG_UTIL.RAW_GET_LENGTH 接口参数说明
参数


入参/出

是否
可以
为空
描述
raw
raw
IN

待获取长度的对象。

PKG_UTIL.RAW_CAST_FROM_VARCHAR2

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
698
该函数RAW_CAST_FROM_VARCHAR2 将varchar2 转化为raw。
PKG_UTIL.RAW_CAST_FROM_VARCHAR2 函数原型为:
PKG_UTIL.RAW_CAST_FROM_VARCHAR2(
str
IN
varchar2
)
RETURN raw;
表17-26 PKG_UTIL.RAW_CAST_FROM_VARCHAR2 接口参数说明
参数
类型
入参/出

是否
可以
为空
描述
str
varc
har2
IN

需要转化的源数据。

PKG_UTIL.CAST_FROM_BINARY_INTEGER
该函数CAST_FROM_BINARY_INTEGER 将binary integer 数据转化为raw 。
PKG_UTIL.CAST_FROM_BINARY_INTEGER 函数原型为:
PKG_UTIL.CAST_FROM_BINARY_INTEGER(
value
IN
integer,
endianess
IN
integer
)
RETURN raw;
表17-27 PKG_UTIL.CAST_FROM_BINARY_INTEGER 接口参数说明
参数


入参/出

是否
可以
为空
描述
value
inte
ger
IN

需要转化为raw 的源数据。
endianess
inte
ger
IN

表示字节序的整型值1 或2
(1 代表BIG_ENDI
AN,2 代表LITTLE-ENDIAN)。

PKG_UTIL.CAST_TO_BINARY_INTEGER

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
699
该函数CAST_TO_BINARY_INTEGER 将raw 数据转化为binary integer 。
PKG_UTIL.CAST_TO_BINARY_INTEGER 函数原型为:
PKG_UTIL.CAST_TO_BINARY_INTEGER(
value
IN
raw,
endianess
IN
integer
)
RETURN integer;
表17-28 PKG_UTIL.CAST_TO_BINARY_INTEGER 接口参数说明
参数


入参/出

是否
可以
为空
描述
value
raw
IN

需要转化为binary integer 的raw 类型源数据。
endianess
inte
ger
IN

表示字节序的整型值1 或2
(1 代表BIG_ENDI
AN,2 代表LITTLE-ENDIAN)。
PKG_UTIL.SET_RANDOM_SEED
该函数SET_RANDOM_SEED 设置随机数种子。
PKG_UTIL.SET_RANDOM_SEED 函数原型为:
PKG_UTIL.RANDOM_SET_SEED(
seed
IN
int
)
RETURN integer;
表17-29 PKG_UTIL.SET_RANDOM_SEED 接口参数说明
参数


入参/出

是否
可以
为空
描述
seed
int
IN

随机数种子。

PKG_UTIL.RANDOM_GET_VALUE
该函数RANDOM_GET_VALUE 返回0~1 区间的一个随机数。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
700
PKG_UTIL.RANDOM_GET_VALUE 函数原型为:
PKG_UTIL.RANDOM_GET_VALUE(
)
RETURN numeric;

PKG_UTIL.FILE_SET_DIRNAME
设置当前操作的目录,
基本上所有涉及单个目录的操作,
都需要调用此方法先设置操作
的目录。
PKG_UTIL.FILE_SET_DIRNAME 函数原型为:
PKG_UTIL.FILE_SET_DIRNAME(
dir
IN
text
)
RETURN bool
表17-30 PKG_UTIL.FILE_SET_DIRNAME 接口参数说明
参数
描述
dirname
文件的目录位置,这个字符串是一个目录对象名。
说明:
文件目录的位置,需要添加到系统表PG_DIRECTORY 中,如果传入的路
径和PG_DIRECTORY 中的路径不匹配,会报路径不存在的错误,下面的
涉及location 作为参数的函数也是同样的情况。

PKG_UTIL.FILE_OPEN
该函数用来打开一个文件,最多可以同时打开50 个文件。并且该函数返回INTEGER
类型的一个句柄。
PKG_UTIL.FILE_OPEN 函数原型为:
PKG_UTIL.FILE_OPEN(
file_name
IN
text,
open_mode
IN
integer)
表17-31 PKG_UTIL.FILE_OPEN 接口参数说明
参数
描述

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
701
参数
描述
file_name
文件名,包含扩展(文件类型),不包括路径名。如果文件名中包含路径,
在OPEN 中会被忽略,在Unix 系统中,文件名不能以/.结尾。
open_mode
指定文件的打开模式,包含r:read text,w: write text 和a: append text。
说明:
对于写操作,会检测文件类型,如果写入elf 文件,将会报错并退出。

PKG_UTIL.FILE_SET_MAX_LINE_SIZE
设置写入文件一行的最大长度。
PKG_UTIL.FILE_SET_MAX_LINE_SIZE 函数原型为:
PKG_UTIL.FILE_SET_MAX_LINE_SIZE(
max_line_size in integer)
RETURN BOOL
表17-32 PKG_UTIL.FILE_SET_MAX_LINE_SIZE 接口参数说明
参数
描述
max_line_siz
e
每行最大字符数,包含换行符(最小值是1,最大值是32767)。如果没有
指定,会指定一个默认值1024。

PKG_UTIL.FILE_IS_CLOSE
检测一个文件句柄是否关闭。
PKG_UTIL.FILE_IS_CLOSE 函数原型为:
PKG_UTIL.FILE_IS_CLOSE(
file in integer
)
RETURN BOOL
表17-33 PKG_UTIL.FILE_IS_CLOSE 接口参数说明
参数
描述
file
一个打开的文件句柄。

PKG_UTIL.FILE_READ

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
702
根据指定的长度从一个打开的文件句柄中读取出数据。
PKG_UTIL.FILE_READ 函数原型为:
PKG_UTIL.FILE_READ(
file
IN
integer,
buffer
OUT
text,
len
IN
integer)
表17-34 PKG_UTIL.FILE_READ 接口参数说明
参数
描述
file
通过调用OPEN 打开的文件句柄,文件必须以读的模式打开,否则会抛出
INVALID_OPERATION 的异常。
buffer
用于接收数据的BUFFER。
len
从文件中读取的字节数。

PKG_UTIL.FILE_READLINE
根据指定的长度从一个打开的文件句柄中读取出一行数据。
PKG_UTIL.FILE_READLINE 函数原型为:
PKG_UTIL.FILE_READLINE(
file
IN
integer,
buffer
OUT text,
len
IN
integer default 1024)
表17-35 PKG_UTIL.FILE_READLINE 接口参数说明
参数
描述
file
通过调用OPEN 打开的文件句柄,文件必须以读的模式打开,否则会抛出
INVALID_OPERATION 的异常。
buffer
用于接收数据的BUFFER。
len
从文件中读取的字节数,默认是NULL。如果是默认NULL,会使用max_
line_size 来指定大小。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
703

PKG_UTIL.FILE_WRITE
将BUFFER 中指定的数据写入到文件中。
PKG_UTIL.FILE_WRITE 函数原型为:
PKG_UTIL.FILE_WRITE(
file in integer,
buffer in text
)
RETURN BOOL
表17-36 PKG_UTIL.FILE_WRITE 接口参数说明
参数
描述
file
一个打开的文件句柄。
buffer
要写入文件的文本数据,BUFFER 的最大值是32767 个字节。如果没有指
定值,
默认是1024 个字节,
没有刷新到文件之前,
一系列的PUT 操作的B
UFFER 总和不能超过32767 个字节。
说明:
对于写操作,会检测文件类型,如果写入elf 文件,将会报错并退出。

PKG_UTIL.FILE_NEWLINE
向一个打开的文件中写入一个行终结符。行终结符和平台相关。
PKG_UTIL.FILE_NEWLINE 函数原型为:
PKG_UTIL.FILE_NEWLINE(
file in integer
)
RETURN BOOL
表17-37 PKG_UTIL.FILE_NEWLINE 接口参数说明
参数
描述
file
一个打开的文件句柄。

PKG_UTIL.FILE_WRITELINE
向一个打开的文件中写入一行。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
704
PKG_UTIL.FILE_WRITELINE 函数原型为:
PKG_UTIL.FILE_WRITELINE(
file in integer,
buffer in text,
flush in bool default false
)
RETURN BOOL
表17-38 PKG_UTIL.FILE_WRITELINE 接口参数说明
参数
描述
file
一个打开的文件句柄。
buffer
要写入的内容。
flush
是否落盘。

PKG_UTIL.FILE_READ_RAW
从一个打开的文件句柄中读取指定长度的二进制数据,
返回读取的二进制数据,
返回类
型为raw。
PKG_UTIL.FILE_READ_RAW 函数原型为:
PKG_UTIL.FILE_READ_RAW(
file
in integer,
length
in integer default NULL
)
RETURN raw
表17-39 PKG_UTIL.FILE_READ_RAW 接口参数说明
参数
描述
file
一个打开的文件句柄。
length
要读取的长度,
默认为NULL。
默认情况下读取文件中所有数据,
最大为1
G。

PKG_UTIL.FILE_WRITE_RAW
向一个打开的文件中写入传入二进制对象RAW。插入成功返回true。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
705
PKG_UTIL.FILE_WRITE_RAW 函数原型为:
PKG_UTIL.FILE_WRITE_RAW(
file in integer,
r
in raw
)
RETURN BOOL
表17-40 PKG_UTIL.FILE_NEWLINE 接口参数说明
参数
描述
file
一个打开的文件句柄。
r
准备传入文件的数据
说明:
对于写操作,
会检测文件类型,
如果写入elf 文件,
将会报错并退出。

PKG_UTIL.FILE_FLUSH
一个文件句柄中的数据要写入到物理文件中,缓冲区中的数据必须要有一个行终结符。
当文件必须在打开时读取,刷新非常有用。例如,调试信息可以刷新到文件中,以便立即读
取。
PKG_UTIL.FILE_FLUSH 函数原型为:
PKG_UTIL.FILE_FLUSH(
file in integer

RETURN VOID
表17-41 PKG_UTIL.FILE_FLUSH 接口参数说明
参数
描述
file
一个打开的文件句柄。

PKG_UTIL.FILE_CLOSE
关闭一个打开的文件句柄。
PKG_UTIL.FILE_CLOSE 函数原型为:
PKG_UTIL.FILE_CLOSE(

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
706
file in integer

RETURN BOOL
表17-42 PKG_UTIL.FILE_CLOSE 接口参数说明
参数
描述
file
一个打开的文件句柄。

PKG_UTIL.FILE_REMOVE
删除一个磁盘文件,操作的时候需要有充分的权限。
PKG_UTIL.FILE_REMOVE 函数原型为:
PKG_UTIL.FILE_REMOVE(
file_name in text
)
RETURN VOID
表17-43 PKG_UTIL.FILE_REMOVE 接口参数说明
参数
描述
filen_ame
要删除的文件名

PKG_UTIL.FILE_RENAME
对于磁盘上的文件进行重命名,类似Unix 的mv。
PKG_UTIL.FILE_RENAME 函数原型为:
PKG_UTIL.FILE_RENAME(
text src_dir in text,
text src_file_name in text,
text dest_dir in text,
text dest_file_name in text,
overwrite boolean default false)
表17-44 PKG_UTIL.FILE_RENAME 接口参数说明
参数
描述

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
707
参数
描述
src_dir
源文件目录(大小写敏感)。
src_file_name
源文件名。
dest_dir
目标文件目录(大小写敏感)。
dest_file_name
目标文件名。
overwrite
默认是false,如果目的目录下存在一个同名的文件,不会进行重写。

PKG_UTIL.FILE_SIZE
返回指定的文件大小。
PKG_UTIL.FILE_SIZE 函数原型为:
bigint PKG_UTIL.FILE_SIZE(
file_name in text
)
表17-45 PKG_UTIL.FILE_SIZE 接口参数说明
参数
描述
file_name
文件名

PKG_UTIL.FILE_BLOCK_SIZE
返回指定的文件含有的块数量。
PKG_UTIL.FILE_BLOCK_SIZE 函数原型为:
bigint PKG_UTIL.FILE_BLOCK_SIZE(
file_name in text
)
表17-46 PKG_UTIL.FILE_BLOCK_SIZE 接口参数说明
参数
描述
file_name
文件名

PKG_UTIL.FILE_EXISTS

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
708
判断指定的文件是否存在。
PKG_UTIL.FILE_EXISTS 函数原型为:
PKG_UTIL.FILE_EXISTS(
file_name in text
)
RETURN BOOL
表17-47 PKG_UTIL.FILE_EXISTS 接口参数说明
参数
描述
file_name
文件名

PKG_UTIL.FILE_GETPOS
返回文件的偏移量,单位字节。
PKG_UTIL.FILE_GETPOS 函数原型为:
PKG_UTIL.FILE_GETPOS(
file in integer
)
RETURN BIGINT
表17-48 PKG_UTIL.FILE_GETPOS 接口参数说明
参数
描述
file
一个打开的文件句柄。

PKG_UTIL.FILE_SEEK
根据用户指定的字节数向前或者向后调整文件指针的位置。
PKG_UTIL.FILE_SEEK 函数原型为:
void PKG_UTIL.FILE_SEEK(
file in integer,
start in bigint default null
)
RETURN VOID

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
709
表17-49 PKG_UTIL.FILE_SEEK 接口参数说明
参数
描述
file
一个打开的文件句柄。
start
文件偏移,字节。

PKG_UTIL.FILE_CLOSE_ALL
关闭一个会话中打开的所有的文件句柄。
PKG_UTIL.FILE_CLOSE_ALL 函数原型为:
PKG_UTIL.FILE_CLOSE_ALL(
)
RETURN VOID↵

PKG_UTIL.EXCEPTION_REPORT_ERROR
抛出一个异常。
PKG_UTIL.EXCEPTION_REPORT_ERROR 函数原型为:
PKG_UTIL.EXCEPTION_REPORT_ERROR(
code integer,
log text,
flag boolean DEFAULT false
)
RETURN INTEGER
表17-50 PKG_UTIL.EXCEPTION_REPORT_ERROR 接口参数说明
参数
描述
code
抛异常所打印的错误码。
log
抛异常所打印的日志提示信息。
flag
保留字段,默认为false。

PKG_UTIL.app_read_client_info
读取client_info 信息。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
710
PKG_UTIL.app_read_client_info 函数原型为:
PKG_UTIL.app_read_client_info(
OUT buffer text
)
表17-51 PKG_UTIL.app_read_client_info 接口参数说明
参数
描述
buffer
返回的client_info 信息。

PKG_UTIL.app_set_client_info
设置client_info 信息。
PKG_UTIL.app_set_client_info 函数原型为:
PKG_UTIL.app_set_client_info(
str text
)
RETURN INTEGER
表17-52 PKG_UTIL.app_set_client_info 接口参数说明
参数
描述
str
要设置的client_info 信息。

PKG_UTIL.lob_converttoblob
将clob 转成blob,amout 为要转换的长度。
PKG_UTIL.lob_converttoblob 函数原型为:
PKG_UTIL.lob_converttoblob(
dest_lob blob,
src_clob clob,
amount integer,
dest_offset integer,
src_offset integer
)
表17-53 PKG_UTIL.lob_converttoblob 接口参数说明

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
711
参数
描述
dest_lob
目标lob。
src_clob
要转换的clob。
amount
转换的长度。
dest_offset
目标lob 的起始位置。
src_offset
源clob 的起始位置。

PKG_UTIL.lob_converttoclob
将blob 转成clob,amout 为要转换的长度。
PKG_UTIL.lob_converttoclob 函数原型为:
PKG_UTIL.lob_converttoclob(
dest_lob clob,
src_blob blob,
amount integer,
dest_offset integer,
src_offset integer
)
表17-54 PKG_UTIL.lob_converttoclob 接口参数说明
参数
描述
dest_lob
目标lob。
src_blob
要转换的blob。
amount
转换的长度。
dest_offset
目标lob 的起始位置。
src_offset
源clob 的起始位置。

PKG_UTIL.lob_texttoraw
将text 转成raw。
PKG_UTIL.lob_texttoraw 函数原型为:

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
712
PKG_UTIL.lob_texttoraw(
src_lob clob
)
RETURN raw
表17-55 PKG_UTIL.lob_texttoraw 接口参数说明
参数
描述
src_lob
要转换的lob 数据。

PKG_UTIL.match_edit_distance_similarity
计算两个字符串的差别。
PKG_UTIL.match_edit_distance_similarity 函数原型为:
PKG_UTIL.match_edit_distance_similarity(
str1 text,
str2 text
)
RETURN INTEGER
表17-56 PKG_UTIL.match_edit_distance_similarity 接口参数说明
参数
描述
str1
第一个字符串。
str2
第二个字符串。

PKG_UTIL.raw_cast_to_varchar2
raw 类型转成varchar2。
PKG_UTIL.raw_cast_to_varchar2 函数原型为:
PKG_UTIL.raw_cast_to_varchar2(
str1 text,
str2 text
)
RETURN INTEGER
表17-57 PKG_UTIL.raw_cast_to_varchar2 接口参数说明

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
713
参数
描述
str1
第一个字符串。
str2
第二个字符串。

PKG_UTIL.session_clear_context
清除session_context 信息。
PKG_UTIL.session_clear_context 函数原型为:
PKG_UTIL.session_clear_context(
namespace text,
client_identifier text,
attribute text
)
RETURN INTEGER
表17-58 PKG_UTIL.session_clear_context 接口参数说明
参数
描述
namespace
属性的命名空间。
client_identifi
er
client_identifier,一般与namespace 即可,当为null 时,默认修改所有nam
esapce。
attribute
要清除的属性值。

PKG_UTIL.session_search_context
查找属性值。
PKG_UTIL.session_clear_context 函数原型为:
PKG_UTIL.session_clear_context(
namespace text,
attribute text
)

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
714
RETURN INTEGER
表17-59 PKG_UTIL.session_clear_context 接口参数说明
参数
描述
namespace
属性的命名空间。
attribute
要清除的属性值。

PKG_UTIL.session_set_context
设置属性值。
PKG_UTIL.session_set_context 函数原型为:
PKG_UTIL.session_set_context(
namespace text,
attribute text,
value text
)
RETURN INTEGER
表17-60 PKG_UTIL.session_set_context 接口参数说明
参数
描述
namespace
属性的命名空间
attribute
要设置的属性
value
属性对应的值

PKG_UTIL.utility_get_time
打印unix 时间戳。
PKG_UTIL.utility_get_time 函数原型为:
PKG_UTIL.utility_get_time()
RETURN text

PKG_UTIL.utility_format_error_backtrace
查看存储过程调用堆栈。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
715
PKG_UTIL.utility_format_error_backtrace 函数原型为:
PKG_UTIL.utility_format_error_backtrace()
RETURN text

PKG_UTIL.utility_format_error_stack
查看存储过程错误信息。
PKG_UTIL.utility_format_error_stack 函数原型为:
PKG_UTIL.utility_format_error_stack()
RETURN text

PKG_UTIL.utility_format_call_stack
查看存储过程调用堆栈。
PKG_UTIL.utility_format_call_stack 函数原型为:
PKG_UTIL.utility_format_call_stack()
RETURN text