暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Halo数据库对oracle系统包的支持

原创 Halo Tech 2024-01-26
154

halo作为一款成熟的国产数据库,对oracle的语法也有很好的兼容能力,以下是halo对oracle一些系统包的兼容。

一 、DBMS_OUTPUT

1、enable:用来使dbms_output生效
2、disable:用来使dbms_output失效
3、put:将内容写到内存,等到put_line时一起输出
4、put_line:输出字符
5、new_line:作为一行的结束,可以理解为写入buffer时的换行符
6、get_line:获取缓冲区的单行信息
7、get_lines:以数组形式来获取缓冲区的多行信息
CALL dbms_output.disable();  --禁用输出功能
CALL dbms_output.enable();   --启勇输出功能 
CALL dbms_output.get_line(null,null);
CALL dbms_output.get_lines(null,null);
CALL dbms_output.new_line();
CALL dbms_output.put('test');
CALL dbms_output.put_line('halodbatabas');
CALL dbms_output.serveroutput('t');

二 、DBMS_UTILITY

1、format_call_stack:这个内置函数返回一个格式化的字符串,它显示了执行调用堆栈:直至此函数的调用点处的所有过程或者函数的调用顺序。
2、get_time: 返回当前时间的1/100秒,它是用以前后两个取点做对比的,通常是用来取差值
CREATE or replace FUNCTION dbms_utility_test() 
RETURNS VOID AS $$
DECLARE
 buff1 VARCHAR(20) := 'max';
BEGIN
 PERFORM DBMS_UTILITY.format_call_stack();
 PERFORM DBMS_UTILITY.format_call_stack('');
 PERFORM DBMS_UTILITY.get_time();
END;
$$ LANGUAGE plpgsql;
SELECT dbms_utility_test() FROM dual;

三 、UTL_FILE

1、fclose:关闭一个打开的文件
2、is_open:返回类型为 BOOLEAN 的值,用于指示指定的文件已打开 (TRUE) 还是已关闭 (FALSE)。
3、tmpdir:表示数据库服务器上的临时目录路径
CALL utl_file.fclose(null);
CALL utl_file.fclose_all();
SELECT utl_file.is_open(null) FROM dual;
SELECT utl_file.tmpdir() FROM dual;
4、DBMS_ALERT

1、register:为当前会话注册一个预警事件
2、remove: 
删除当前会话的一个预警事件
3、removeall:
删除当前会话下所有的预警事件
4、signal:
给预警事件发送消息,当前事务提交时生效

CALL dbms_alert.register('myname');
CALL dbms_alert.remove('myname');
CALL dbms_alert.removeall();
CALL dbms_alert.signal('myname',null);
5、DBMS_PIPE
1、next_item_type:返回缓冲区中下一个数据成员的数据类型
2、remove_pipe:删除一个显式的私有或公有管道
3、reset_buffer:清除本地缓冲区的消息
4、
send_message:从会话的本地消息缓冲区中将一条消息发送到指定的管道
5、
unique_session_name:返回当前会话的一个唯一名称
6、
unpack_message:将本地消息缓冲区中消息的数据项复制到程序变量中
SELECT dbms_pipe.next_item_type() FROM dual;
SELECT dbms_pipe.remove_pipe(null) FROM dual;
CALL dbms_pipe.reset_buffer();
SELECT dbms_pipe.send_message('pipe') FROM dual;
SELECT dbms_pipe.send_message('pipe',null) FROM dual;
SELECT dbms_pipe.send_message('pipe',null,null) FROM dual;
SELECT dbms_pipe.unique_session_name() FROM dual;
CALL dbms_pipe.unpack_message('aa');
6、DBMS_RANDOM
1、value:生成一个0~1间的随机小数(包括0,不包括1)
2、value(m,n):生成一个m~n间的随机小数(包括m和不包括n)

3、initialize:用于初始化dbms_random包,必须提供随机数种子
4、random:
生成一个从-power(2,31)到power(2,31)的整数值,注意,区间为左闭右开。
5、seed:生成一个指定起始点的随机数,对于相同的seed而言,随机数任意一次变化都是确定的。
6、string:

生成一个指定模式指定位数的随机字符串,可选模式如下:
'u'或'U',仅返回大写字母
'l'或'L',仅返回小写字母
'a'或'A',返回大小写字母混合
'x'或'X',返回大写字母和数字混合
'p'或'P',返回任意可显示字符
7、terminate:关闭DBMS_RANDOM包
SELECT dbms_random.value() FROM dual;
SELECT dbms_random.value(10,20) FROM dual;
CALL dbms_random.initialize(1);
SELECT dbms_random.random();
CALL dbms_random.seed(1);
SELECT dbms_random.string('a',10) FROM dual;
CALL dbms_random.terminate();

以上就是halo数据库对oracle一些系统包的支持,感兴趣的同学可以自己尝试测试一下。

最后修改时间:2024-03-06 14:13:24
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论