PKG_UTIL
PKG_UTIL支持的所有接口请参见表1:
表 1 PKG_UTIL
PKG_UTIL.LOB_GET_LENGTH
该函数LOB_GET_LENGTH获取输入数据的长度。
PKG_UTIL.LOB_GET_LENGTH函数原型为:
PKG_UTIL.LOB_GET_LENGTH( lob IN anyelement ) RETURN INTEGER;
表 2 PKG_UTIL.LOB_GET_LENGTH接口参数说明
PKG_UTIL.LOB_READ
该函数LOB_READ读取一个对象,并返回指定部分。
PKG_UTIL.LOB_READ函数原型为:
PKG_UTIL.LOB_READ( lob IN anyelement, len IN int, start IN int, mode IN int ) RETURN ANYELEMENT
表 3 PKG_UTIL.LOB_READ接口参数说明
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;
表 4 PKG_UTIL.LOB_WRITE接口参数说明
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;
表 5 PKG_UTIL.LOB_APPEND接口参数说明
PKG_UTIL.LOB_COMPARE
该函数LOB_COMPARE按照指定的起始位置、个数比较对象是否相同,lob1大则返回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;
表 6 PKG_UTIL.LOB_COMPARE接口参数说明
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;
表 7 PKG_UTIL.LOB_MATCH接口参数说明
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;
表 8 PKG_UTIL.LOB_RESET接口参数说明
PKG_UTIL.IO_PRINT
该函数IO_PRINT将一段字符串打印输出。
PKG_UTIL.IO_PRINT函数原型为:
PKG_UTIL.IO_PRINT( format IN text, is_one_line IN boolean ) RETURN void;
表 9 PKG_UTIL.IO_PRINT接口参数说明
PKG_UTIL.RAW_GET_LENGTH
该函数RAW_GET_LENGTH获取raw的长度。
PKG_UTIL.RAW_GET_LENGTH函数原型为:
PKG_UTIL.RAW_GET_LENGTH( value IN raw ) RETURN integer;
表 10 PKG_UTIL.RAW_GET_LENGTH接口参数说明
PKG_UTIL.RAW_CAST_FROM_VARCHAR2
该函数RAW_CAST_FROM_VARCHAR2将varchar2转化为raw。
PKG_UTIL.RAW_CAST_FROM_VARCHAR2函数原型为:
PKG_UTIL.RAW_CAST_FROM_VARCHAR2( str IN varchar2 ) RETURN raw;
表 11 PKG_UTIL.RAW_CAST_FROM_VARCHAR2接口参数说明
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;
表 12 PKG_UTIL.CAST_FROM_BINARY_INTEGER接口参数说明
PKG_UTIL.CAST_TO_BINARY_INTEGER
该函数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;
表 13 PKG_UTIL.CAST_TO_BINARY_INTEGER接口参数说明
PKG_UTIL.SET_RANDOM_SEED
该函数SET_RANDOM_SEED设置随机数种子。
PKG_UTIL.SET_RANDOM_SEED函数原型为:
PKG_UTIL.RANDOM_SET_SEED( seed IN int ) RETURN integer;
表 14 PKG_UTIL.SET_RANDOM_SEED接口参数说明
PKG_UTIL.RANDOM_GET_VALUE
该函数RANDOM_GET_VALUE返回0~1区间的一个随机数。
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
表 15 PKG_UTIL.FILE_SET_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)
表 16 PKG_UTIL.FILE_OPEN接口参数说明
文件名,包含扩展(文件类型),不包括路径名。如果文件名中包含路径,在OPEN中会被忽略,在Unix系统中,文件名不能以/.结尾。
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 PKG_UTIL.FILE_SET_MAX_LINE_SIZE接口参数说明
PKG_UTIL.FILE_IS_CLOSE
检测一个文件句柄是否关闭。
PKG_UTIL.FILE_IS_CLOSE函数原型为:
PKG_UTIL.FILE_IS_CLOSE( file in integer ) RETURN BOOL
表 18 PKG_UTIL.FILE_IS_CLOSE接口参数说明
PKG_UTIL.FILE_READ
根据指定的长度从一个打开的文件句柄中读取出数据。
PKG_UTIL.FILE_READ函数原型为:
PKG_UTIL.FILE_READ( file IN integer, buffer OUT text, len IN integer)
表 19 PKG_UTIL.FILE_READ接口参数说明
PKG_UTIL.FILE_READLINE
根据指定的长度从一个打开的文件句柄中读取出一行数据。
PKG_UTIL.FILE_READLINE函数原型为:
PKG_UTIL.FILE_READLINE( file IN integer, buffer OUT text, len IN integer default 1024)
表 20 PKG_UTIL.FILE_READLINE接口参数说明
PKG_UTIL.FILE_WRITE
将BUFFER中指定的数据写入到文件中。
PKG_UTIL.FILE_WRITE函数原型为:
PKG_UTIL.FILE_WRITE( file in integer, buffer in text ) RETURN BOOL
表 21 PKG_UTIL.FILE_WRITE接口参数说明
要写入文件的文本数据,BUFFER的最大值是32767个字节。如果没有指定值,默认是1024个字节,没有刷新到文件之前,一系列的PUT操作的BUFFER总和不能超过32767个字节。
PKG_UTIL.FILE_NEWLINE
向一个打开的文件中写入一个行终结符。行终结符和平台相关。
PKG_UTIL.FILE_NEWLINE函数原型为:
PKG_UTIL.FILE_NEWLINE( file in integer ) RETURN BOOL
表 22 PKG_UTIL.FILE_NEWLINE接口参数说明
PKG_UTIL.FILE_WRITELINE
向一个打开的文件中写入一行。
PKG_UTIL.FILE_WRITELINE函数原型为:
PKG_UTIL.FILE_WRITELINE( file in integer, buffer in text, flush in bool default false ) RETURN BOOL
表 23 PKG_UTIL.FILE_WRITELINE接口参数说明
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
表 24 PKG_UTIL.FILE_READ_RAW接口参数说明
PKG_UTIL.FILE_WRITE_RAW
向一个打开的文件中写入传入二进制对象RAW。插入成功返回true。
PKG_UTIL.FILE_WRITE_RAW函数原型为:
PKG_UTIL.FILE_WRITE_RAW( file in integer, r in raw ) RETURN BOOL
表 25 PKG_UTIL.FILE_NEWLINE接口参数说明
PKG_UTIL.FILE_FLUSH
一个文件句柄中的数据要写入到物理文件中,缓冲区中的数据必须要有一个行终结符。当文件必须在打开时读取,刷新非常有用。例如,调试信息可以刷新到文件中,以便立即读取。
PKG_UTIL.FILE_FLUSH函数原型为:
PKG_UTIL.FILE_FLUSH( file in integer ) RETURN VOID
表 26 PKG_UTIL.FILE_FLUSH接口参数说明
PKG_UTIL.FILE_CLOSE
关闭一个打开的文件句柄。
PKG_UTIL.FILE_CLOSE函数原型为:
PKG_UTIL.FILE_CLOSE( file in integer ) RETURN BOOL
表 27 PKG_UTIL.FILE_CLOSE接口参数说明
PKG_UTIL.FILE_REMOVE
删除一个磁盘文件,操作的时候需要有充分的权限。
PKG_UTIL.FILE_REMOVE函数原型为:
PKG_UTIL.FILE_REMOVE( file_name in text ) RETURN VOID
表 28 PKG_UTIL.FILE_REMOVE接口参数说明
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)
表 29 PKG_UTIL.FILE_RENAME接口参数说明
PKG_UTIL.FILE_SIZE
返回指定的文件大小。
PKG_UTIL.FILE_SIZE函数原型为:
bigint PKG_UTIL.FILE_SIZE( file_name in text )
表 30 PKG_UTIL.FILE_SIZE接口参数说明
PKG_UTIL.FILE_BLOCK_SIZE
返回指定的文件含有的块数量。
PKG_UTIL.FILE_BLOCK_SIZE函数原型为:
bigint PKG_UTIL.FILE_BLOCK_SIZE( file_name in text )
表 31 PKG_UTIL.FILE_BLOCK_SIZE接口参数说明
PKG_UTIL.FILE_EXISTS
判断指定的文件是否存在。
PKG_UTIL.FILE_EXISTS函数原型为:
PKG_UTIL.FILE_EXISTS( file_name in text ) RETURN BOOL
表 32 PKG_UTIL.FILE_EXISTS接口参数说明
PKG_UTIL.FILE_GETPOS
返回文件的偏移量,单位字节。
PKG_UTIL.FILE_GETPOS函数原型为:
PKG_UTIL.FILE_GETPOS( file in integer ) RETURN BIGINT
表 33 PKG_UTIL.FILE_GETPOS接口参数说明
PKG_UTIL.FILE_SEEK
根据用户指定的字节数向前或者向后调整文件指针的位置。
PKG_UTIL.FILE_SEEK函数原型为:
void PKG_UTIL.FILE_SEEK( file in integer, start in bigint default null ) RETURN VOID
表 34 PKG_UTIL.FILE_SEEK接口参数说明
PKG_UTIL.FILE_CLOSE_ALL
关闭一个会话中打开的所有的文件句柄。
PKG_UTIL.FILE_CLOSE_ALL函数原型为:
PKG_UTIL.FILE_CLOSE_ALL( ) RETURN VOID↵
表 35 PKG_UTIL.FILE_CLOSE_ALL接口参数说明
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
表 36 PKG_UTIL.EXCEPTION_REPORT_ERROR接口参数说明
PKG_UTIL.app_read_client_info
读取client_info信息。
PKG_UTIL.app_read_client_info函数原型为:
PKG_UTIL.app_read_client_info( OUT buffer text )
表 37 PKG_UTIL.app_read_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
表 38 PKG_UTIL.app_set_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 )
表 39 PKG_UTIL.lob_converttoblob接口参数说明
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 )
表 40 PKG_UTIL.lob_converttoclob接口参数说明
PKG_UTIL.lob_texttoraw
将text转成raw。
PKG_UTIL.lob_texttoraw函数原型为:
PKG_UTIL.lob_texttoraw( src_lob clob ) RETURN raw
表 41 PKG_UTIL.lob_texttoraw接口参数说明
PKG_UTIL.match_edit_distance_similarity
计算两个字符串的差别。
PKG_UTIL.match_edit_distance_similarity函数原型为:
PKG_UTIL.match_edit_distance_similarity( str1 text, str2 text ) RETURN INTEGER
表 42 PKG_UTIL.match_edit_distance_similarity接口参数说明
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
表 43 PKG_UTIL.raw_cast_to_varchar2接口参数说明
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
表 44 PKG_UTIL.session_clear_context接口参数说明
PKG_UTIL.session_search_context
查找属性值。
PKG_UTIL.session_clear_context函数原型为:
PKG_UTIL.session_clear_context( namespace text, attribute text ) RETURN INTEGER
表 45 PKG_UTIL.session_clear_context接口参数说明
PKG_UTIL.session_set_context
设置属性值。
PKG_UTIL.session_set_context函数原型为:
PKG_UTIL.session_set_context( namespace text, attribute text, value text ) RETURN INTEGER
表 46 PKG_UTIL.session_set_context接口参数说明
PKG_UTIL.utility_get_time
打印unix时间戳。
PKG_UTIL.utility_get_time函数原型为:
PKG_UTIL.utility_get_time() RETURN text
PKG_UTIL.utility_format_error_backtrace
查看存储过程调用堆栈。
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