从Oracle数据库获取所有表创建脚本

艾伦·米尔(Alan Mil)

我有一个Oracle数据库,其中包含很多表和很多属性,例如:主键,唯一键,外键,索引,特权和分区。

我需要在新的Oracle数据库中创建具有相同属性的相同表。有没有一种方法可以为数据库中的所有表生成单个创建脚本?

谢谢

克里希纳

是的。您可以在下面的查询中执行,“定义”列中的内容是一个CLOB,其中包含相应对象的DDL

SELECT OBJECT_TYPE,
       OBJECT_NAME,
       DBMS_METADATA.GET_DDL(OBJECT_TYPE, OBJECT_NAME) DEFINITION
  FROM DBA_OBJECTS
 WHERE OWNER = 'OWNER_NAME'
   AND OBJECT_TYPE IN ('FUNCTION',
                       'PACKAGE',
                       'PROCEDURE',
                       'SEQUENCE',
                       'TABLE',
                       'TRIGGER',
                       'VIEW')
 ORDER BY OBJECT_TYPE, OBJECT_NAME

下面是一个快速的VB脚本,可帮助提取CLOB

folder = "Folder_name"
connStr="<Your connection string here>"
if fetchFromDB=true then
    set c=CreateObject("ADODB.Connection")
    c.ConnectionString=connStr
    c.Open

    set r=CreateObject("ADODB.recordset")

    sql="SELECT OBJECT_TYPE, OBJECT_NAME, DBMS_METADATA.GET_DDL(OBJECT_TYPE,OBJECT_NAME) DEFINITION FROM DBA_OBJECTS WHERE OWNER='<OWNER_NAME_HERE>' AND OBJECT_TYPE IN ('FUNCTION', 'PACKAGE', 'PROCEDURE', 'SEQUENCE', 'TABLE', 'TRIGGER', 'VIEW') ORDER BY OBJECT_TYPE, OBJECT_NAME"
    r.open sql,c,3,1
    dim fs,f
    set fs=CreateObject("Scripting.FileSystemObject")
    do until r.EOF
        set f=fs.OpenTextFile(folder & "\\" & r("OBJECT_TYPE") & "_" & r("OBJECT_NAME") & ".sql",8,true)
        f.WriteLine r("DEFINITION")
        r.MoveNext
        f.close
    loop
    r.close
end if

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Laravel 4在数据库中获取所有表

来自分类Dev

php / mysql获取数据库中的所有表和列

来自分类Dev

查找使用当前表的所有其他表(Oracle数据库)

来自分类Dev

获取数据库中所有表的行数:SQL Server

来自分类Dev

从数据库获取所有记录到Vaadin表

来自分类Dev

从不同的数据库获取表的所有列

来自分类Dev

EF6数据库优先-EF尝试创建我的数据库(但所有表已存在)

来自分类Dev

在单个.sql脚本中创建数据库和表

来自分类Dev

从SQL Server的所有数据库中获取表大小信息

来自分类Dev

EF代码优先从数据库开始,未为所有表创建实体

来自分类Dev

截断数据库中所有表中的数据

来自分类Dev

列出数据库中的所有表和列(ORACLE)

来自分类Dev

编写查询脚本以基于关系联接数据库中的所有表

来自分类Dev

搜索数据库中字符串匹配的所有表并获取表结构

来自分类Dev

FastAPI和GINO无法从数据库表中获取所有行

来自分类Dev

从Oracle数据库表创建JSON

来自分类Dev

如何在Yii Framework中从数据库中获取所有表名和列名

来自分类Dev

php / mysql获取数据库中的所有表和列

来自分类Dev

脚本化Oracle数据库:选定模式中的所有对象

来自分类Dev

Oracle表是否存在查询所有数据库中的查询表?

来自分类Dev

如何从数据库中获取所有表的列表以及列名

来自分类Dev

获取数据库中所有表的上次用户更新时间

来自分类Dev

用1个脚本创建数据库及其表

来自分类Dev

在单个.sql脚本中创建数据库和表

来自分类Dev

如何在python3上显示在sqlite数据库中创建的所有表

来自分类Dev

Symfony从数据库表中获取所有字段名称

来自分类Dev

如何获取数据库中所有可用表的列表?

来自分类Dev

删除所有访问数据库表数据

来自分类Dev

Impala - 获取数据库集中列中的所有表

Related 相关文章

  1. 1

    使用Laravel 4在数据库中获取所有表

  2. 2

    php / mysql获取数据库中的所有表和列

  3. 3

    查找使用当前表的所有其他表(Oracle数据库)

  4. 4

    获取数据库中所有表的行数:SQL Server

  5. 5

    从数据库获取所有记录到Vaadin表

  6. 6

    从不同的数据库获取表的所有列

  7. 7

    EF6数据库优先-EF尝试创建我的数据库(但所有表已存在)

  8. 8

    在单个.sql脚本中创建数据库和表

  9. 9

    从SQL Server的所有数据库中获取表大小信息

  10. 10

    EF代码优先从数据库开始,未为所有表创建实体

  11. 11

    截断数据库中所有表中的数据

  12. 12

    列出数据库中的所有表和列(ORACLE)

  13. 13

    编写查询脚本以基于关系联接数据库中的所有表

  14. 14

    搜索数据库中字符串匹配的所有表并获取表结构

  15. 15

    FastAPI和GINO无法从数据库表中获取所有行

  16. 16

    从Oracle数据库表创建JSON

  17. 17

    如何在Yii Framework中从数据库中获取所有表名和列名

  18. 18

    php / mysql获取数据库中的所有表和列

  19. 19

    脚本化Oracle数据库:选定模式中的所有对象

  20. 20

    Oracle表是否存在查询所有数据库中的查询表?

  21. 21

    如何从数据库中获取所有表的列表以及列名

  22. 22

    获取数据库中所有表的上次用户更新时间

  23. 23

    用1个脚本创建数据库及其表

  24. 24

    在单个.sql脚本中创建数据库和表

  25. 25

    如何在python3上显示在sqlite数据库中创建的所有表

  26. 26

    Symfony从数据库表中获取所有字段名称

  27. 27

    如何获取数据库中所有可用表的列表?

  28. 28

    删除所有访问数据库表数据

  29. 29

    Impala - 获取数据库集中列中的所有表

热门标签

归档