1

我想知道文件/表的位置,其中存储了 Oracle 的内置函数/包/过程的定义,如 MAX()、DBMS_OUTPUT 等。

4

2 回答 2

2

在 PL/SQL 引擎中,Oracle 提供的函数是模式MAX()中包的STANDARD一部分SYS

大多数其他提供的包都驻留在SYS模式中,但是您可以很容易地找到任何单个包的位置 -例如

SELECT *
FROM all_objects
WHERE object_name = 'DBMS_OUTPUT'

结果

|  OWNER | OBJECT_NAME | SUBOBJECT_NAME | OBJECT_ID | DATA_OBJECT_ID | OBJECT_TYPE |                       CREATED |                 LAST_DDL_TIME |           TIMESTAMP | STATUS | TEMPORARY | GENERATED | SECONDARY | NAMESPACE | EDITION_NAME |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|    SYS | DBMS_OUTPUT |         (null) |      4972 |         (null) |     PACKAGE | August, 27 2011 08:22:22+0000 | August, 27 2011 08:22:22+0000 | 2011-08-27:08:22:22 |  VALID |         N |         N |         N |         1 |       (null) |
| PUBLIC | DBMS_OUTPUT |         (null) |      4973 |         (null) |     SYNONYM | August, 27 2011 08:22:22+0000 | August, 27 2011 08:22:22+0000 | 2011-08-27:08:22:22 |  VALID |         N |         N |         N |         1 |       (null) |

以下文档页面列出了大多数(如果不是全部)PL/SQL 提供的包: http ://docs.oracle.com/cd/B28359_01/appdev.111/b28419/intro.htm#BABGEDBH

于 2013-06-08T10:00:05.607 回答
1

创建内置函数、包和过程的脚本存储在数据库服务器机器上。你必须找到环境变量的值$ORACLE_HOME,然后去$ORACLE_HOME/rdbms/admin/。只需使用 grep 查找您要查找的文件。

如果数据库服务器是 Windows 机器,请查看ECHO %ORACLE_HOME%命令提示符并从那里继续。

于 2013-06-08T07:37:25.343 回答