Oracle - 快速拉取 alter table 脚本

Oracle - pull alter table scripts quickly

在 Toad for Oracle 中,可以查看特定 table 的 DDL 脚本。我正在尝试找出一种方法来快速仅拉取 ALTER TABLE ADD FOREIGN KEY CONSTRAINT ddl 近 50 tables 而不是转到所有 tables 并抓住它们。是否有此目录 table 或仅提取该部分的方法?

是的,在 Toad 中绝对有可能。 (N.B。我的模式浏览器设置为使用选项卡;我不确定如果你的没有选项卡,以下内容是否有效!)

以下是在 Toad 中获取它的方法:

  1. 单击约束选项卡
  2. 按 Img 列对约束进行排序
  3. 向下滚动到外键约束(旁边有 F 的蓝色键)
  4. Ctrl+单击要为其生成脚本的外键
  5. 在约束名称列表上单击鼠标右键
  6. Select "Create Script" 来自弹出菜单

这会出现一个 window,您可以在其中选择选项以及您希望如何显示结果。

独立于工具的版本:

SELECT dbms_metadata.get_dependent_ddl('REF_CONSTRAINT', table_name)
  FROM user_tables t -- may want to change this to all_tables...
WHERE EXISTS (SELECT 1
                FROM user_constraints
              WHERE table_name = t.table_name
                AND constraint_type = 'R');

这将为所有外键约束生成 ALTER TABLE 语句(对于具有它们的表。)

http://przemyslawkruglej.com/archive/2014/09/how-to-get-referential-constraints-using-dbms_metadata/