系统包

最近更新时间:2024-11-06 17:25:02

我的收藏
系统包指的是 TDSQL PG 数据库提供的兼容 Oracle 功能的一系列内置 PL/SQL 程序包,包含程序、过程、函数、类型和变量,用于执行各种数据库级别的任务,如数据访问、数据处理、安全性、性能监控和数据库管理等。
举例常见的 TDSQL PG 系统包如 DBMS_OUTPUT,其用于在 PL/SQL 代码块或存储过程中向用户显示信息。
使用方法如下:
---在支持的客户端工具中输出 "Hello, TDSQL PG!" 字符串。
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, TDSQL PG!');
END;
/
TDSQL PG 目前兼容的 oracle 系统包列表如下表所示。
序号
Oracle 数据库
TDSQL PG 数据库
说明
1
DBMS_APPLICATION_INFO
支持
为执行上下文设置特定的模名和信息,方便后续的问题定位和性能跟踪。
2
DBMS_SQL
部分支持
提供了一套类似 OCI 的接口,允许用户使用该包模拟 OCI 的方式来操作动态 SQL。
3
DBMS_JOB
部分支持
使用该包来执行一些定时任务。
4
DBMS_OUTPUT
支持
使用该包来进行信息输出,方便调试和问题定位。
5
DBMS_ASSERT
支持
该包主要用来验证特定字符串是否是合乎语法语义规则,不同的字函数有不同的验证规则。
6
DBMS_ALERT
支持
该包用来订阅和发送消息,结合 TRIGGER 等使用,可以感知数据库发生的数据变化。
7
DBMS_PIPE
支持
使用该包来创建一个消息管道用来进行消息传递。
8
DBMS_RANDOM
支持
使用该包来生成一串符合正态分布的随机数,并能基于该随机数生成一些随机字符串。
9
DBMD_UTILITY
部分支持
该包提供了一些工具函数,如 FORMAT STACK 等,具体需要见该包的成员函数。
10
DBMS_LOB
部分支持
该包提供了一些工具函数用来操作 LOB 数据类型。注意由于 TDSQL PG 和 ORACLE 底层实现的不同,某些函数可能未实现或行为和 ORACLE 不一致。
11
DBMS_LOCK
部分支持
该包提供了一些工具函数,可以用来向 lock manager 获取锁,帮忙在 PL 中写一些需要锁支持的逻辑. 注意目前只支持 sleep 函数。
12
DBMS_SESSION
部分支持
搞包提供工具函数用来操纵 SESSION 内的部分数据。注意 TDSQL PG 目前只支持UNIQUE_SESSION_ID,RESET_PACKAGE,FREE_UNUSED_USER_MEMORY 三个函数。
13
DBMS_STATS
部分支持
该包提供工具函数用来进行统计信息搜集。
14
DBMS_METADATA
部分支持
该包提供一些工具函数,用来获取系统内部的一些 SCHEMA 信息。
15
DBMS_ROWID
部分支持
该包提供了一些工具函数,来创建和解析 rowid。由于 TDSQL PG 和 oracle 底层实现的不同,某些函数行为不一定相同。
16
UTL_FILE
部分支持
改包提供一些工具函数,用来读写操作系统的文件。
17
UTL_RAW
部分支持
该包提供一些工具函数,用来操作 RAW 数据类型。
18
XMLDOM
部分支持
该包提供一些 XML DOCUMENT 处理函数,目前支持 getElementsByTagName,getLength,item,getChildNodes,getFirstChild,getNodeValue,getNodeName,FREEDOCUMENT 等。
19
XMLPARSER
部分支持
该包提供一些 XML 解析函数,目前支持 parseClob,getDocument,freeParser 等。