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
CREATE or replace FUNCTION dbms_utility_test()RETURNS VOID AS $$DECLAREbuff1 VARCHAR(20) := 'max';BEGINPERFORM 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);

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
3、initialize:用于初始化dbms_random包,必须提供随机数种子
4、random:生成一个从-power(2,31)到power(2,31)的整数值,注意,区间为左闭右开。
5、seed:生成一个指定起始点的随机数,对于相同的seed而言,随机数任意一次变化都是确定的。
6、string:
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一些系统包的支持,感兴趣的同学可以自己尝试测试一下。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




