Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为Oracle存储过程依赖关系图生成DDL_Oracle_Stored Procedures_Oracle Sqldeveloper_Toad - Fatal编程技术网

为Oracle存储过程依赖关系图生成DDL

为Oracle存储过程依赖关系图生成DDL,oracle,stored-procedures,oracle-sqldeveloper,toad,Oracle,Stored Procedures,Oracle Sqldeveloper,Toad,有了TOAD,我知道我可以使用模式浏览器查看存储过程的依赖关系(使用)图。而且,Oracle实用程序deptree\u fill也可以做类似的事情。我要做的是将所有存储过程、函数和表定义DLL编写成一个文件,以便在另一个数据库中重新创建这些对象。是否有用于此目的的工具或现有脚本?我自己的搜索没有找到解决方案。在我的特殊情况下,存储过程使用了十几个其他过程、几个函数和二十个表 编辑1 也许我最初的问题不清楚。我要寻找的是一种能够将我感兴趣的存储过程以及它的所有依赖关系图脚本化到一个或多个文件中的东

有了TOAD,我知道我可以使用模式浏览器查看存储过程的依赖关系(使用)图。而且,Oracle实用程序
deptree\u fill
也可以做类似的事情。我要做的是将所有存储过程、函数和表定义DLL编写成一个文件,以便在另一个数据库中重新创建这些对象。是否有用于此目的的工具或现有脚本?我自己的搜索没有找到解决方案。在我的特殊情况下,存储过程使用了十几个其他过程、几个函数和二十个表

编辑1

也许我最初的问题不清楚。我要寻找的是一种能够将我感兴趣的存储过程以及它的所有依赖关系图脚本化到一个或多个文件中的东西


我正在处理的模式中有数百个对象,依赖关系图中有大约50个对象。所以,如果可以避免的话,我宁愿不去翻蟾蜍的大列表,也不自己写一个甲骨文脚本

嗯,在谷歌很容易找到。 获取表DDL:

存储过程的代码可在表USER\u SOURCE中找到


此外,要将架构导出到另一个数据库,您可以使用oracle实用程序:

可以使用
dbms\u元数据
包提取所有源

要获取表的源,请执行以下操作:

select dbms_metadata.get_ddl('TABLE', 'SOME_TABLE')
from dual;
要获取存储过程的源,请执行以下操作:

select dbms_metadata.get_ddl('PROCEDURE', 'SOME_PROC')
from dual;
使用它,您可以创建一个SQL脚本,提取所有内容,然后将结果假脱机到一个文件中

有关
dbms\u metadata
中各种功能的更多详细信息,请参见手册:


在Toad中,请参见生成架构脚本窗口。您可以从数据库|导出菜单访问它。有许多选项可以包括/排除您想要的内容