我想知道Oracle内置函数/包/过程的定义存储在文件/表中的位置,如MAX(),DBMS_OUTPUT等。
发布于 2013-06-08 18:00:06
在PL/SQL引擎中,Oracle提供的函数(如MAX() )是SYS模式中STANDARD包的一部分。
大多数其他提供的包都位于SYS模式中,但是您可以很容易地找到任何单独的包所在的位置-- for example
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-08 15:37:25
创建内建函数、包和过程的脚本存储在数据库服务器机器上。您必须找到环境变量$ORACLE_HOME的值,然后转到$ORACLE_HOME/rdbms/admin/。只需使用grep查找您要查找的文件即可。
如果数据库服务器是一台Windows机,请在命令提示符下查看ECHO %ORACLE_HOME%,然后从那里继续。
https://stackoverflow.com/questions/16996916
复制相似问题