华为云云数据库GaussDBPKG_UTIL_云淘科技
PKG_UTIL支持的所有接口请参见表1:
接口名称 |
描述 |
---|---|
PKG_UTIL.LOB_GET_LENGTH |
获取lob的长度。 |
PKG_UTIL.LOB_READ |
读取lob对象的一部分。 |
PKG_UTIL.LOB_WRITE |
将源对象按照指定格式写入到目标对象。 |
PKG_UTIL.LOB_APPEND |
将lob源对象追加到目标lob对象。 |
PKG_UTIL.LOB_COMPARE |
根据指定长度比较两个lob对象。 |
PKG_UTIL.LOB_MATCH |
返回一个字符串在LOB中第N次出现的位置。 |
PKG_UTIL.LOB_RESET |
将lob的指定位置重置为指定字符。 |
PKG_UTIL.LOB_GET_LENGTH |
该函数获取并返回指定的LOB类型对象的长度。 |
PKG_UTIL.LOB_READ_HUGE |
根据指定的长度及起始位置偏移读取LOB内容的一部分,并返回读取到的LOB和长度。 |
PKG_UTIL.LOB_WRITEAPPEND_HUGE |
该函数将源blob/clob对象读取指定长度内容,并追加到目标blob/clob对象, 并返回目标对象。 |
PKG_UTIL.LOB_APPEND_HUGE |
该函数将源blob/clob对象追加到目标blob/clob对象, 并返回目标对象。 |
PKG_UTIL.READ_BFILE_TO_BLOB |
该函数将源BFILE文件读取成目标BLOB对象, 并返回目标对象。 |
PKG_UTIL.LOB_COPY_HUGE |
该函数将源blob/clob对象,从指定偏移读取指定长度内容,写入到目标blob/clob对象的指定偏移位置, 并返回目标对象。 |
PKG_UTIL.BLOB_RESET |
该函数将BLOB中一段数据set为value值,返回处理后的BLOB以及实际处理的长度。 |
PKG_UTIL.CLOB_RESET |
该函数将一段数据set为空格,返回处理后的CLOB以及实际处理的长度。 |
PKG_UTIL.LOADBLOBFROMFILE |
将源BFILE对象,从指定偏移读取指定长度内容,写入到目标BLOB对象的指定偏移位置, 并返回目标对象,读取位置,写入位置。 |
PKG_UTIL.LOADCLOBFROMFILE |
将源BFILE对象,从指定偏移读取指定长度内容,写入到目标CLOB对象的指定偏移位置, 并返回目标对象,读取位置,写入位置。 |
PKG_UTIL.LOB_CONVERTTOBLOB_HUGE |
将src_clob从指定偏移位置读取指定长度内容转成BLOB,并写入dest_lob的指定位置,amout为要转换的长度。 |
PKG_UTIL.LOB_CONVERTTOCLOB_HUGE |
将src_clob从指定偏移位置读取指定长度内容转成CLOB,并写入dest_lob的指定位置,amout为要转换的长度。 |
PKG_UTIL.BFILE_GET_LENGTH |
该函数获取并返回指定的BFILE文件的长度。 |
PKG_UTIL.BFILE_OPEN |
该函数打开BFILE文件,返回文件描述符。 |
PKG_UTIL.BFILE_CLOSE |
该函数关闭打开的BFILE文件。 |
PKG_UTIL.LOB_WRITE_HUGE |
将源对象从起始位置读取len长度内容,写入目标LOB对象的指定偏移位置,覆盖该位置原本内容, 并返回目标LOB对象。 |
PKG_UTIL.IO_PRINT |
将字符串打印输出。 |
PKG_UTIL.RAW_GET_LENGTH |
获取raw的长度。 |
PKG_UTIL.RAW_CAST_FROM_VARCHAR2 |
将varchar2转化为raw。 |
PKG_UTIL.RAW_CAST_FROM_BINARY_INTEGER |
将binary integer转化为raw。 |
PKG_UTIL.RAW_CAST_TO_BINARY_INTEGER |
将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 |
将二进制数据写入到文件中。 |
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.gs_compile_schema |
重编译指定Schema、PACKAGE、函数和存储过程。当编译遇到PL/SQL对象报错时,异常将会被捕获,继续编译其它对象,直到全部对象编译成功或者到达尝试次数后停止。 通过jdbc执行该高级包,sqlstate会打印00000错误码,00000错误码代表成功完成,具体请参见《错误码参考》中的“SQL标准错误码说明”。 |
PKG_UTIL.LOB_GET_LENGTH
该函数LOB_GET_LENGTH获取输入数据的长度。
PKG_UTIL.LOB_GET_LENGTH函数原型为:
1 2 3 4 5 6 7 8 9 |
PKG_UTIL.LOB_GET_LENGTH( lob IN CLOB ) RETURN INTEGER; PKG_UTIL.LOB_GET_LENGTH( lob IN BLOB ) RETURN INTEGER; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob |
clob/blob |
IN |
否 |
待获取长度的对象。 |
PKG_UTIL.LOB_READ
该函数LOB_READ读取一个对象,并返回指定部分。
PKG_UTIL.LOB_READ函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.LOB_READ( lob IN anyelement, len IN int, start IN int, mode IN int ) RETURN ANYELEMENT |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob |
clob/blob |
IN |
否 |
clob或者blob类型数据。 |
len |
int |
IN |
否 |
返回结果长度。 |
start |
int |
IN |
否 |
相较于第一个字符的偏移量。 |
mode |
int |
IN |
否 |
判断读取操作的类型, 0 :read; 1 : trim; 2 : substr。 |
PKG_UTIL.LOB_WRITE
该函数LOB_WRITE将源对象按照指定的参数写入目标对象,并返回目标对象。
PKG_UTIL.LOB_WRITE函数原型为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
PKG_UTIL.LOB_WRITE( dest_lob INOUT blob, src_lob IN raw len IN int, start_pos IN bigint ) RETURN BLOB; PKG_UTIL.LOB_WRITE( dest_lob INOUT clob, src_lob IN varchar2 len IN int, start_pos IN bigint ) RETURN CLOB; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
dest_lob |
clob/blob |
INOUT |
否 |
写入的目标对象。 |
src_lob |
clob/blob |
IN |
否 |
被写入的源对象。 |
len |
int |
IN |
否 |
源对象的写入长度。 |
start_pos |
bigint |
IN |
否 |
目标对象的写入起始位置。 |
PKG_UTIL.LOB_APPEND
该函数LOB_APPEND将源blob/clob对象追加到目标blob/clob对象, 并返回目标对象。
PKG_UTIL.LOB_APPEND函数原型为:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
dest_lob |
blob/clob |
INOUT |
否 |
写入的目标blob/clob对象。 |
src_lob |
blob/clob |
IN |
否 |
被写入的源blob/clob对象。 |
len |
int |
IN |
是 |
src中读取并append到dest上的长度,默认null,将src全部append上去。 |
PKG_UTIL.LOB_COMPARE
该函数LOB_COMPARE按照指定的起始位置、个数比较对象是否相同,lob1大则返回1,lob2大返回-1,相等返回0。
PKG_UTIL.LOB_COMPARE函数原型为:
1 2 3 4 5 6 7 8 |
PKG_UTIL.LOB_COMPARE( lob1 IN anyelement, lob2 IN anyelement, len IN int default 1073741771, start_pos1 IN int default 1, start_pos2 IN int default 1 ) RETURN INTEGER; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob1 |
clob/blob |
IN |
否 |
待比较的字符串。 |
lob2 |
clob/blob |
IN |
否 |
待比较的字符串。 |
len |
int |
IN |
否 |
比较的长度。 |
start_pos1 |
int |
IN |
否 |
lob1起始偏移量。 |
start_pos2 |
int |
IN |
否 |
lob2起始偏移量。 |
PKG_UTIL.LOB_MATCH
该函数LOB_MATCH返回pattern出现在lob对象中第match_nth次的位置。
PKG_UTIL.LOB_MATCH函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.LOB_MATCH( lob IN anyelement, pattern IN anyelement, start IN int, match_nth IN int default 1 ) RETURN INTEGER; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob |
clob/blob |
IN |
否 |
待比较的字符串。 |
pattern |
clob/blob |
IN |
否 |
待匹配的pattern。 |
start |
int |
IN |
否 |
lob的起始比较位置。 |
match_nth |
int |
IN |
否 |
第几次匹配到。 |
PKG_UTIL.LOB_RESET
该函数LOB_RESET清除一段数据为字符value。
PKG_UTIL.LOB_RESET函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.LOB_RESET( lob IN blob, len IN int, start IN int, value IN int default 0 ) RETURN record; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob |
blob |
IN |
否 |
待重置的字符串。 |
len |
int |
IN |
否 |
重置的长度。 |
start |
int |
IN |
否 |
重置的起始位置。 |
value |
int |
IN |
是 |
设置的字符。默认值‘0’。 |
PKG_UTIL.LOB_GET_LENGTH
该函数获取并返回指定的LOB类型对象的长度。
PKG_UTIL.LOB_GET_LENGTH函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.LOB_GET_LENGTH( lob IN blob) RETURN BIGINT; PKG_UTIL.LOB_GET_LENGTH( lob IN clob) RETURN BIGINT; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob |
BLOB/CLOB |
IN |
否 |
指定的LOB类型对象。 |
PKG_UTIL.LOB_READ_HUGE
根据指定的长度及起始位置偏移读取LOB内容的一部分,并返回读取到的LOB和长度。
PKG_UTIL.LOB_READ_HUGE函数原型为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
PKG_UTIL.LOB_READ_HUGE( lob IN CLOB, len IN BIGINT, start_pos IN BIGINT, mode IN INTEGER) RETURN RECORD; PKG_UTIL.LOB_READ_HUGE( lob IN BLOB, len IN BIGINT, start_pos IN BIGINT, mode IN INTEGER) RETURN RECORD; PKG_UTIL.LOB_READ_HUGE( fd IN INTEGER, len IN BIGINT, start_pos IN BIGINT, mode IN INTEGER) RETURN RECORD; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob/fd |
BLOB/CLOB/INTEGER |
IN |
否 |
指定的LOB类型对象/BFILE文件的文件描述符。 |
len |
BIGINT |
IN |
否 |
读取长度。 |
start_pos |
BIGINT |
IN |
否 |
读取起始偏移位置。 |
mode |
INTEGER |
IN |
否 |
read模式(0代表read、1代表trim、2代表substr)。 |
PKG_UTIL.LOB_WRITEAPPEND_HUGE
该函数LOB_WRITEAPPEND_HUGE将源blob/clob对象读取指定长度内容,并追加到目标blob/clob对象, 并返回目标对象。
PKG_UTIL.LOB_WRITEAPPEND_HUGE函数原型为:
1 2 3 4 5 6 7 8 9 10 11 |
PKG_UTIL.LOB_WRITEAPPEND_HUGE( dest_lob INOUT CLOB, len IN INTEGER, src_lob IN VARCHAR2 )RETURN CLOB; PKG_UTIL.LOB_WRITEAPPEND_HUGE( dest_lob INOUT BLOB, len IN INTEGER, src_lob IN RAW )RETURN BLOB; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
dest_lob |
BLOB/CLOB |
INOUT |
否 |
写入的目标BLOB/CLOB对象。 |
len |
INTEGER |
IN |
是 |
写入源对象的长度,为NULL则默认写入源对象全部。 |
src_lob |
VARCHAR2/RAW |
IN |
否 |
被写入的源BLOB/CLOB对象。 |
PKG_UTIL.LOB_APPEND_HUGE
该函数LOB_APPEND_HUGE将源blob/clob对象追加到目标blob/clob对象, 并返回目标对象。
PKG_UTIL.LOB_APPEND_HUGE函数原型为:
1 2 3 4 |
PKG_UTIL.LOB_APPEND_HUGE( dest_lob INOUT BLOB, src_lob IN BLOB) RETURN BLOB; |
1 2 3 4 |
PKG_UTIL.LOB_APPEND_HUGE( dest_lob INOUT CLOB, src_lob IN CLOB) RETURN CLOB; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
dest_lob |
BLOB/CLOB |
INOUT |
否 |
写入的目标BLOB/CLOB对象。 |
src_lob |
BLOB/CLOB |
IN |
否 |
被写入的源BLOB/CLOB对象。 |
PKG_UTIL.READ_BFILE_TO_BLOB
该函数READ_BFILE_TO_BLOB将源BFILE文件读取成目标BLOB对象, 并返回目标对象。
PKG_UTIL.READ_BFILE_TO_BLOB函数原型为:
1 2 3 |
PKG_UTIL.READ_BFILE_TO_BLOB( fd IN INTEGER )RETURN BLOB; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
fd |
BFILE |
IN |
否 |
读取的源BFILE文件。 |
PKG_UTIL.LOB_COPY_HUGE
该函数LOB_COPY_HUGE将源blob/clob对象,从指定偏移读取指定长度内容,写入到目标blob/clob对象的指定偏移位置, 并返回目标对象。
PKG_UTIL.LOB_COPY_HUGE函数原型为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
PKG_UTIL.LOB_COPY_HUGE( lob_obj INOUT BLOB, source_obj IN BLOB, amount IN BIGINT, dest_offset IN BIGINT DEFAULT 1, src_offset IN BIGINT DEFAULT 1 )RETURN BLOB; PKG_UTIL.LOB_COPY_HUGE( lob_obj INOUT CLOB, source_obj IN CLOB, amount IN BIGINT, dest_offset IN BIGINT DEFAULT 1, src_offset IN BIGINT DEFAULT 1 )RETURN CLOB; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob_obj |
BLOB/CLOB |
INOUT |
否 |
目标BLOB/CLOB对象。 |
source_obj |
BLOB/CLOB |
IN |
否 |
源BLOB/CLOB对象。 |
amount |
BIGINT |
IN |
否 |
拷贝的长度(BLOB以字节为单位,CLOB以字符为单位)。 |
dest_offset |
BIGINT |
IN |
否 |
目标LOB的载入偏移位置。 |
src_offset |
BIGINT |
IN |
否 |
源LOB的读取偏移位置。 |
PKG_UTIL.BLOB_RESET
该函数将BLOB中一段数据set为value值,返回处理后的BLOB以及实际处理的长度。
PKG_UTIL.BLOB_RESET函数原型为:
1 2 3 4 5 6 |
PKG_UTIL.BLOB_RESET( lob INOUT BLOB, len INOUT BIGINT, start_pos IN BIGINT DEFAULT 1, value IN INTEGER DEFAULT 0 )RETURN RECORD; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob |
BLOB |
INOUT |
否 |
待重置的LOB。 |
len |
INTEGER |
INOUT |
否 |
重置的长度,单位字节。 |
start |
INTEGER |
IN |
否 |
重置的起始位置。 |
value |
INTEGER |
IN |
是 |
设置的字符。默认值‘0’。 |
PKG_UTIL.CLOB_RESET
该函数将一段数据set为空格。
PKG_UTIL.CLOB_RESET函数原型为:
1 2 3 4 5 |
PKG_UTIL.CLOB_RESET( lob INOUT CLOB, len INOUT BIGINT, start_pos IN BIGINT DEFAULT 1 )RETURN RECORD; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
lob |
CLOB |
INOUT |
否 |
待重置的LOB。 |
len |
INTEGER |
INOUT |
否 |
重置的长度,单位字符。 |
start |
INTEGER |
IN |
否 |
重置的起始位置,默认为1。 |
PKG_UTIL.LOADBLOBFROMFILE
该函数LOADBLOBFROMFILE将源BFILE对象,从指定偏移读取指定长度内容,写入到目标BLOB对象的指定偏移位置, 并返回目标对象,读取位置,写入位置。
PKG_UTIL.LOADBLOBFROMFILE函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.LOADBLOBFROMFILE( dest_lob INOUT BLOB, fd IN INTEGER, amount IN BIGINT, dest_offset INOUT BIGINT, file_offset INOUT BIGINT )RETURN RECORD; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
dest_lob |
BLOB |
INOUT |
否 |
IN参数为目标BLOB对象,OUT参数为写入后的目标BLOB对象。 |
fd |
INTEGER |
IN |
否 |
源BFILE对象的文件描述符。 |
amount |
BIGINT |
IN |
否 |
拷贝的长度(BLOB以字节为单位,CLOB以字符为单位)。 |
dest_offset |
BIGINT |
INOUT |
否 |
IN参数为目标LOB的写入偏移位置,OUT参数为实际写入位置。 |
src_offset |
BIGINT |
INOUT |
否 |
IN参数为源BFILE的读取偏移位置,OUT参数为实际读取位置。 |
PKG_UTIL.LOADCLOBFROMFILE
该函数LOADCLOBFROMFILE将源BFILE对象,从指定偏移读取指定长度内容,写入到目标CLOB对象的指定偏移位置, 并返回目标对象,读取位置,写入位置。
PKG_UTIL.LOADCLOBFROMFILE函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.LOADCLOBFROMFILE( dest_lob INOUT CLOB, fd IN INTEGER, amount IN BIGINT, dest_offset INOUT BIGINT, file_offset INOUT BIGINT )RETURN RECORD; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
dest_lob |
CLOB |
INOUT |
否 |
IN参数为目标CLOB对象,OUT参数为写入后的目标CLOB对象。 |
fd |
INTEGER |
IN |
否 |
源BFILE对象的文件描述符。 |
amount |
BIGINT |
IN |
否 |
拷贝的长度(CLOB以字符为单位)。 |
dest_offset |
BIGINT |
INOUT |
否 |
IN参数为目标LOB的写入偏移位置,OUT参数为实际写入位置。 |
src_offset |
BIGINT |
INOUT |
否 |
IN参数为源BFILE的读取偏移位置,OUT参数为实际读取位置。 |
PKG_UTIL.LOB_CONVERTTOBLOB_HUGE
将src_clob从指定偏移位置读取指定长度内容转成BLOB,并写入dest_lob的指定位置,amout为要转换的长度。
PKG_UTIL.LOB_CONVERTTOBLOB_HUGE函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.LOB_CONVERTTOBLOB_HUGE( dest_lob INOUT BLOB, src_clob IN CLOB, amount IN BIGINT, dest_offset INOUT BIGINT, src_offset INOUT BIGINT) )RETURN RECORD; |
参数 |
描述 |
---|---|
dest_lob |
目标lob。 |
src_clob |
要转换的clob。 |
amount |
转换的长度,字符为单位。 |
dest_offset |
IN参数为目标lob的写入起始位置,OUT参数为实际的写入位置。 |
src_offset |
IN参数为源clob的读取起始位置,OUT参数为实际的读取起始位置。 |
PKG_UTIL.LOB_CONVERTTOCLOB_HUGE
将src_clob从指定偏移位置读取指定长度内容转成CLOB,并写入dest_lob的指定位置,amout为要转换的长度。
PKG_UTIL.LOB_CONVERTTOCLOB_HUGE函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.LOB_CONVERTTOCLOB_HUGE( dest_lob INOUT CLOB, src_blob IN BLOB, amount IN BIGINT, dest_offset INOUT BIGINT, src_offset INOUT BIGINT) )RETURN RECORD; |
参数 |
描述 |
---|---|
dest_lob |
目标lob。 |
src_blob |
要转换的blob。 |
amount |
转换的长度,字节为单位。 |
dest_offset |
IN参数为目标lob的写入起始位置,OUT参数为实际的写入位置。 |
src_offset |
IN参数为源clob的读取起始位置,OUT参数为实际的读取起始位置。 |
PKG_UTIL.BFILE_GET_LENGTH
该函数获取并返回指定的BFILE文件的长度。
PKG_UTIL.BFILE_GET_LENGTH函数原型为:
1 2 3 |
PKG_UTIL.BFILE_GET_LENGTH( fd INTEGER )RETURN BIGINT; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
fd |
INTEGER |
IN |
否 |
指定的BFILE文件的文件描述符。 |
PKG_UTIL.BFILE_OPEN
该函数打开BFILE文件,返回文件描述符。
PKG_UTIL.BFILE_OPEN函数原型为:
1 2 3 4 |
PKG_UTIL.BFILE_OPEN( file_name TEXT, open_mode TEXT) RETURN INTEGER; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
file_name |
TEXT |
IN |
否 |
指定的BFILE文件的文件name。 |
open_mode |
TEXT |
IN |
否 |
打开方式(只支持‘r’,read功能) |
PKG_UTIL.BFILE_CLOSE
该函数关闭打开的BFILE文件。
PKG_UTIL.BFILE_CLOSE函数原型为:
1 2 3 |
PKG_UTIL.BFILE_CLOSE( fd INTEGER) RETURN bool; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
fd |
INTEGER |
IN |
否 |
指定的BFILE文件的文件描述符。 |
PKG_UTIL.LOB_WRITE_HUGE
将源对象从起始位置读取len长度内容,写入目标LOB对象的指定偏移位置,覆盖该位置原本内容, 并返回目标LOB对象。
PKG_UTIL.LOB_WRITE_HUGE函数原型为:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
PKG_UTIL.LOB_WRITE_HUGE( dest_lob INOUT BLOB, len IN INTEGER, start_pos IN BIGINT, src_lob IN RAW )RETURN BLOB; PKG_UTIL.LOB_WRITE_HUGE( dest_lob INOUT CLOB, len IN INTEGER, start_pos IN BIGINT, src_lob IN VARCHAR2 )RETURN CLOB; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
dest_lob |
BLOB/CLOB |
INOUT |
否 |
IN参数为待写入的目标LOB,OUT参数为写入内容后的LOB。 |
len |
INTEGER |
IN |
否 |
待写入的长度(BLOB以字节为单位,CLOB以字符为单位)。 |
start_pos |
BIGINT |
IN |
否 |
在dest_lob中写入的偏移位置。 |
src_lob |
RAW/VARCHAR2 |
IN |
否 |
源LOB对象。 |
PKG_UTIL.IO_PRINT
该函数IO_PRINT将一段字符串打印输出。
PKG_UTIL.IO_PRINT函数原型为:
1 2 3 4 5 |
PKG_UTIL.IO_PRINT( format IN text, is_one_line IN boolean ) RETURN void; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
format |
text |
IN |
否 |
待打印输出的字符串。 |
is_one_line |
boolean |
IN |
否 |
是否输出为一行。 |
PKG_UTIL.RAW_GET_LENGTH
该函数RAW_GET_LENGTH获取raw的长度。
PKG_UTIL.RAW_GET_LENGTH函数原型为:
1 2 3 4 |
PKG_UTIL.RAW_GET_LENGTH( value IN raw ) RETURN integer; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
raw |
raw |
IN |
否 |
待获取长度的对象。 |
PKG_UTIL.RAW_CAST_FROM_VARCHAR2
该函数RAW_CAST_FROM_VARCHAR2将varchar2转化为raw。
PKG_UTIL.RAW_CAST_FROM_VARCHAR2函数原型为:
1 2 3 4 |
PKG_UTIL.RAW_CAST_FROM_VARCHAR2( str IN varchar2 ) RETURN raw; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
str |
varchar2 |
IN |
否 |
需要转化的源数据。 |
PKG_UTIL.RANDOM_SET_SEED
该函数RANDOM_SET_SEED设置随机数种子。
PKG_UTIL.RANDOM_SET_SEED函数原型为:
1 2 3 4 |
PKG_UTIL.RANDOM_SET_SEED( seed IN int ) RETURN integer; |
参数 |
类型 |
入参/出参 |
是否可以为空 |
描述 |
---|---|---|---|---|
seed |
int |
IN |
否 |
随机数种子。 |
PKG_UTIL.RANDOM_GET_VALUE
该函数RANDOM_GET_VALUE返回0~1区间的一个随机数,其有效数字为15位。
PKG_UTIL.RANDOM_GET_VALUE函数原型为:
1 2 3 |
PKG_UTIL.RANDOM_GET_VALUE( ) RETURN numeric; |
PKG_UTIL.FILE_SET_DIRNAME
设置当前操作的目录,基本上所有涉及单个目录的操作,都需要调用此方法先设置操作的目录。
PKG_UTIL.FILE_SET_DIRNAME函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_SET_DIRNAME( dir IN text ) RETURN bool |
参数 |
描述 |
---|---|
dirname |
文件的目录位置,这个字符串是一个目录对象名。 说明: 文件目录的位置,需要添加到系统表PG_DIRECTORY中,如果传入的路径和PG_DIRECTORY中的路径不匹配,会报路径不存在的错误, 下面的涉及location作为参数的函数也是同样的情况。 |
PKG_UTIL.FILE_OPEN
该函数用来打开一个文件,最多可以同时打开50个文件。并且该函数返回INTEGER类型的一个句柄。
PKG_UTIL.FILE_OPEN函数原型为:
1 2 3 |
PKG_UTIL.FILE_OPEN( file_name IN text, open_mode IN integer) |
参数 |
描述 |
---|---|
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函数原型为:
1 2 3 |
PKG_UTIL.FILE_SET_MAX_LINE_SIZE( max_line_size in integer) RETURN BOOL |
参数 |
描述 |
---|---|
max_line_size |
每行最大字符数,包含换行符(最小值是1,最大值是32767)。如果没有指定,会指定一个默认值1024。 |
PKG_UTIL.FILE_IS_CLOSE
检测一个文件句柄是否关闭。
PKG_UTIL.FILE_IS_CLOSE函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_IS_CLOSE( file in integer ) RETURN BOOL |
参数 |
描述 |
---|---|
file |
一个打开的文件句柄。 |
PKG_UTIL.FILE_READ
根据指定的长度从一个打开的文件句柄中读取出数据。
PKG_UTIL.FILE_READ函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_READ( file IN integer, buffer OUT text, len IN bigint default 1024) |
参数 |
描述 |
---|---|
file |
通过调用OPEN打开的文件句柄,文件必须以读的模式打开,否则会抛出INVALID_OPERATION的异常。 |
buffer |
用于接收数据的BUFFER。 |
len |
从文件中读取的字节数。 |
PKG_UTIL.FILE_READLINE
根据指定的长度从一个打开的文件句柄中读取出一行数据。
PKG_UTIL.FILE_READLINE函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_READLINE( file IN integer, buffer OUT text, len IN integer default NULL) |
参数 |
描述 |
---|---|
file |
通过调用OPEN打开的文件句柄,文件必须以读的模式打开,否则会抛出INVALID_OPERATION的异常。 |
buffer |
用于接收数据的BUFFER。 |
len |
从文件中读取的字节数,默认是NULL。如果是默认NULL,会使用max_line_size来指定大小。 |
PKG_UTIL.FILE_WRITE
将BUFFER中指定的数据写入到文件中。
PKG_UTIL.FILE_WRITE函数原型为:
1 2 3 4 5 |
PKG_UTIL.FILE_WRITE( file in integer, buffer in text ) RETURN BOOL |
参数 |
描述 |
---|---|
file |
一个打开的文件句柄。 |
buffer |
要写入文件的文本数据,BUFFER的最大值是32767个字节。如果没有指定值,默认是1024个字节,没有刷新到文件之前,一系列的PUT操作的BUFFER总和不能超过32767个字节。 说明: 对于写操作,会检测文件类型,如果写入elf文件,将会报错并退出。 |
PKG_UTIL.FILE_NEWLINE
向一个打开的文件中写入一个行终结符。行终结符和平台相关。
PKG_UTIL.FILE_NEWLINE函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_NEWLINE( file in integer ) RETURN BOOL |
参数 |
描述 |
---|---|
file |
一个打开的文件句柄。 |
PKG_UTIL.FILE_WRITELINE
向一个打开的文件中写入一行。
PKG_UTIL.FILE_WRITELINE函数原型为:
1 2 3 4 5 |
PKG_UTIL.FILE_WRITELINE( file in integer, buffer in text ) RETURN BOOL |
参数 |
描述 |
---|---|
file |
一个打开的文件句柄。 |
buffer |
要写入的内容 |
PKG_UTIL.FILE_READ_RAW
从一个打开的文件句柄中读取指定长度的二进制数据,返回读取的二进制数据,返回类型为raw。
PKG_UTIL.FILE_READ_RAW函数原型为:
1 2 3 4 5 |
PKG_UTIL.FILE_READ_RAW( file in integer, length in integer default NULL ) RETURN raw |
参数 |
描述 |
---|---|
file |
一个打开的文件句柄。 |
length |
要读取的长度,默认为NULL。默认情况下读取文件中所有数据,最大为1G。 |
PKG_UTIL.FILE_WRITE_RAW
向一个打开的文件中写入传入二进制对象RAW。插入成功返回true。
PKG_UTIL.FILE_WRITE_RAW函数原型为:
1 2 3 4 5 |
PKG_UTIL.FILE_WRITE_RAW( file in integer, r in raw ) RETURN BOOL |
参数 |
描述 |
---|---|
file |
一个打开的文件句柄。 |
r |
准备传入文件的数据 说明: 对于写操作,会检测文件类型,如果写入elf文件,将会报错并退出。 |
PKG_UTIL.FILE_FLUSH
一个文件句柄中的数据要写入到物理文件中,缓冲区中的数据必须要有一个行终结符。当文件必须在打开时读取,刷新非常有用。例如,调试信息可以刷新到文件中,以便立即读取。
PKG_UTIL.FILE_FLUSH函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_FLUSH( file in integer ) RETURN VOID |
参数 |
描述 |
---|---|
file |
一个打开的文件句柄。 |
PKG_UTIL.FILE_CLOSE
关闭一个打开的文件句柄。
PKG_UTIL.FILE_CLOSE函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_CLOSE( file in integer ) RETURN BOOL |
参数 |
描述 |
---|---|
file |
一个打开的文件句柄。 |
PKG_UTIL.FILE_REMOVE
删除一个磁盘文件,操作的时候需要有充分的权限。
PKG_UTIL.FILE_REMOVE函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_REMOVE( file_name in text ) RETURN VOID |
参数 |
描述 |
---|---|
filen_ame |
要删除的文件名 |
PKG_UTIL.FILE_RENAME
对于磁盘上的文件进行重命名,类似Unix的mv。
PKG_UTIL.FILE_RENAME函数原型为:
1 2 3 4 5 6 |
PKG_UTIL.FILE_RENAME( src_dir in text, src_file_name in text, dest_dir in text, dest_file_name in text, overwrite boolean default false) |
参数 |
描述 |
---|---|
src_dir |
源文件目录(大小写敏感)。 说明: 文件目录的位置,需要添加到系统表PG_DIRECTORY中,如果传入的路径和PG_DIRECTORY中的路径不匹配,会报路径不存在的错误。 |
src_file_name |
源文件名。 |
dest_dir |
目标文件目录(大小写敏感)。 说明: 文件目录的位置,需要添加到系统表PG_DIRECTORY中,如果传入的路径和PG_DIRECTORY中的路径不匹配,会报路径不存在的错误。 |
dest_file_name |
目标文件名。 |
overwrite |
默认是false,如果目的目录下存在一个同名的文件,不会进行重写。 |
PKG_UTIL.FILE_SIZE
返回指定的文件大小。
PKG_UTIL.FILE_SIZE函数原型为:
1 2 3 |
bigint PKG_UTIL.FILE_SIZE( file_name in text )return bigint |
参数 |
描述 |
---|---|
file_name |
文件名 |
PKG_UTIL.FILE_BLOCK_SIZE
返回指定的文件含有的块数量。
PKG_UTIL.FILE_BLOCK_SIZE函数原型为:
1 2 3 |
bigint PKG_UTIL.FILE_BLOCK_SIZE( file_name in text )return bigint |
参数 |
描述 |
---|---|
file_name |
文件名 |
PKG_UTIL.FILE_EXISTS
判断指定的文件是否存在。
PKG_UTIL.FILE_EXISTS函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_EXISTS( file_name in text ) RETURN BOOL |
参数 |
描述 |
---|---|
file_name |
文件名 |
PKG_UTIL.FILE_GETPOS
返回文件的偏移量,单位字节。
PKG_UTIL.FILE_GETPOS函数原型为:
1 2 3 4 |
PKG_UTIL.FILE_GETPOS( file in integer ) RETURN BIGINT |
参数 |
描述 |
---|---|
file |
一个打开的文件句柄。 |
PKG_UTIL.FILE_SEEK
根据用户指定的字节数向前或者向后调整文件指针的位置。
PKG_UTIL.FILE_SEEK函数原型为:
1 2 3 4 5 |
void PKG_UTIL.FILE_SEEK( file in integer, start in bigint ) RETURN VOID |
参数 |
描述 |
---|---|
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函数原型为:
1 2 3 4 5 6 |
PKG_UTIL.EXCEPTION_REPORT_ERROR( code integer, log text, flag boolean DEFAULT false ) RETURN INTEGER |
参数 |
描述 |
---|---|
code |
抛异常所打印的错误码。 |
log |
抛异常所打印的日志提示信息。 |
flag |
保留字段,默认为false。 |
PKG_UTIL.app_read_client_info
读取client_info信息
PKG_UTIL.app_read_client_info函数原型为:
1 2 3 |
PKG_UTIL.app_read_client_info( OUT buffer text )return text |
参数 |
描述 |
---|---|
buffer |
返回的client_info信息 |
PKG_UTIL.app_set_client_info
设置client_info信息
PKG_UTIL.app_set_client_info函数原型为:
1 2 3 |
PKG_UTIL.app_set_client_info( str text ) |
参数 |
描述 |
---|---|
str |
要设置的client_info信息 |
PKG_UTIL.lob_converttoblob
将clob转成blob,amout为要转换的长度
PKG_UTIL.lob_converttoblob函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.lob_converttoblob( dest_lob blob, src_clob clob, amount integer, dest_offset integer, src_offset integer )return raw |
参数 |
描述 |
---|---|
dest_lob |
目标lob |
src_clob |
要转换的clob |
amount |
转换的长度 |
dest_offset |
目标lob的起始位置 |
src_offset |
源clob的起始位置 |
PKG_UTIL.lob_converttoclob
将blob转成clob,amout为要转换的长度
PKG_UTIL.lob_converttoclob函数原型为:
1 2 3 4 5 6 7 |
PKG_UTIL.lob_converttoclob( dest_lob clob, src_blob blob, amount integer, dest_offset integer, src_offset integer )return text |
参数 |
描述 |
---|---|
dest_lob |
目标lob |
src_blob |
要转换的blob |
amount |
转换的长度 |
dest_offset |
目标lob的起始位置 |
src_offset |
源clob的起始位置 |
PKG_UTIL.lob_texttoraw
将text转成raw
PKG_UTIL.lob_texttoraw函数原型为:
1 2 3 4 |
PKG_UTIL.lob_texttoraw( src_lob clob ) RETURN raw |
参数 |
描述 |
---|---|
src_lob |
要转换的lob数据 |
PKG_UTIL.match_edit_distance_similarity
计算两个字符串的差别
PKG_UTIL.match_edit_distance_similarity函数原型为:
1 2 3 4 5 |
PKG_UTIL.match_edit_distance_similarity( str1 text, str2 text ) RETURN INTEGER |
参数 |
描述 |
---|---|
str1 |
第一个字符串 |
str2 |
第二个字符串 |
PKG_UTIL.raw_cast_to_varchar2
raw类型转成varchar2。
PKG_UTIL.raw_cast_to_varchar2函数原型为:
1 2 3 4 |
PKG_UTIL.raw_cast_to_varchar2( str raw ) RETURN varchar2 |
参数 |
描述 |
---|---|
str |
十六进制字符串 |
PKG_UTIL.session_clear_context
清除session_context信息
PKG_UTIL.session_clear_context函数原型为:
1 2 3 4 5 6 |
PKG_UTIL.session_clear_context( namespace text, client_identifier text, attribute text ) RETURN INTEGER |
参数 |
描述 |
---|---|
namespace |
属性的命名空间 |
client_identifier |
client_identifier,一般与namespace即可,当为null时,默认修改所有namesapce |
attribute |
要清除的属性值 |
PKG_UTIL.session_search_context
查找属性值
PKG_UTIL.session_clear_context函数原型为:
1 2 3 4 5 |
PKG_UTIL.session_clear_context( namespace text, attribute text ) RETURN INTEGER |
参数 |
描述 |
---|---|
namespace |
属性的命名空间 |
attribute |
要清除的属性值 |
PKG_UTIL.session_set_context
设置属性值
PKG_UTIL.session_set_context函数原型为:
1 2 3 4 5 6 |
PKG_UTIL.session_set_context( namespace text, attribute text, value text ) RETURN INTEGER |
参数 |
描述 |
---|---|
namespace |
属性的命名空间 |
attribute |
要设置的属性 |
value |
属性对应的值 |
PKG_UTIL.utility_get_time
打印unix时间戳。
PKG_UTIL.utility_get_time函数原型为:
1 2 |
PKG_UTIL.utility_get_time() RETURN bigint |
PKG_UTIL.utility_format_error_backtrace
查看存储过程的错误堆栈。
PKG_UTIL.utility_format_error_backtrace函数原型为:
1 2 |
PKG_UTIL.utility_format_error_backtrace() RETURN text |
PKG_UTIL.utility_format_error_stack
查看存储过程的报错信息。
PKG_UTIL.utility_format_error_stack函数原型为:
1 2 |
PKG_UTIL.utility_format_error_stack() RETURN text |
PKG_UTIL.utility_format_call_stack
查看存储过程调用堆栈。
PKG_UTIL.utility_format_call_stack函数原型为:
1 2 |
PKG_UTIL.utility_format_call_stack() RETURN text |
父主题: 基础接口
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家