如何比较表数据结构

时间:2016-10-20 06:58:20

标签: oracle oracle11g

如何比较表数据结构。     1.添加或删除任何表。     2.添加或删除表中的任何列。

所以我的工作是验证是否在每个月的第1天添加/删除任何表或列。

我的计划是运行一个sql查询并获取整个表列表的副本,它只是数据类型(NO DATA)并将其保存在txt文件或其他内容中并将其用作基线,并在下个月运行sql查询并获取结果并比较文件。可能吗?请帮助sql查询,它可以完成这项工作。

1 个答案:

答案 0 :(得分:0)

此查询将为您提供给定用户的所有表及其列的列表(只需在此查询中替换您必须审核的用户的ABCD,并且您可以访问所有可用的用户表)。

SELECT  table_name,
    column_name
FROM    all_tab_columns
WHERE   owner = 'ABCD'
ORDER
BY  table_name,
    column_id;

这回答了你的问题,但是我必须同意a_horse_with_no_name,这不是实现更改控制的好方法,最明显的原因是更改已经发生。

此查询非常基本,并不会为您提供查看列是否已更改所需的所有信息(或有关其他对象类型的任何信息等),但之后您只询问有关表的添加和删除和列,您可以将此脚本的输出与先前的输出进行比较,以找到所分配任务的答案。