【问题标题】:Script to compare Oracle Schema with Teradata Views将 Oracle 模式与 Teradata 视图进行比较的脚本
【发布时间】:2013-08-16 13:37:46
【问题描述】:

我的任务是将一些 Teradata 视图与实际的 Oracle 表进行比较。 为此我需要一个脚本。我采用 Java 方法从 Oracle 连接到特定模式,然后调用 SELECT * FROM all_tables order by TABLE_NAME 查询并将其写入文件。 我对其他模式也这样做,但现在我的问题是 Teradata。 你们能否建议我一些脚本或查询,通过它们我可以获得正确的详细信息,就像使用 Oracle 一样。

没有复杂的 Java 代码,但如果你仍然需要,我可以发布它。

已编辑:

好的,现在我在 Oracle 中有一个架构,其中包含所有表。所以这些表的视图是在 Teredata 中创建的。 我必须每天早上比较 oracle 表和 Teradata 视图并发送差异。 因此,我在 Oracle 中使用 SELECT * FROM all_tables order by TABLE_NAME,而对于 Teradata,我使用 SELECT * FROM dbc.tables WHERE tablekind='V' AND databasename='SCHEMA' order by TableName,所以现在当我比较它们时,我没有得到准确的结果,所以我想知道是否存在任何脚本或我该如何处理。

【问题讨论】:

    标签: oracle compare views teradata


    【解决方案1】:

    如果您的问题是“如何以编程方式确定 Teradata 中视图的结构?”,那么这应该是朝着正确方向迈出的一步:HELP VIEW yourviewname;

    获取给定表的视图列表:

    SELECT TableName
    FROM DBC.Tables
    WHERE Tablekind = 'V'
    AND requestText LIKE '%yourtablename%'
    GROUP BY 1
    ORDER BY 1;
    

    此信息是从official Teradata forums 收集的。您可能还对Teradata users manuals 感兴趣。 (在右上角选择您的发布版本。)

    【讨论】:

    • 您好,感谢您的回复,但请您详细说明requestText LIKE '%yourtablename%'
    • 我用于 Teradata 的查询是 SELECT * FROM dbc.tables WHERE tablekind='V' AND databasename='SCHEMANAME'order by TableName; 但我仍然没有得到准确的结果。
    • 您需要什么样的信息?您期望的“正确细节”和“准确结果”是什么? all_tables 返回的大多数列在 Teradata 中根本没有对应项
    • 好的,现在我在 Oracle 中有一个架构,其中包含所有表。所以这些表的视图是在 Teredata 中创建的。我必须每天早上比较 oracle 表和 Teradata 视图并发送差异。所以我在 Oracle 中使用 SELECT * FROM all_tables order by TABLE_NAME,而对于 Teradata 我使用 SELECT * FROM dbc.tables WHERE tablekind='V' AND databasename='SCHEMA' order by TableName,所以现在当我比较它们时,我没有得到准确的结果,所以我想知道是否存在任何脚本或我该如何处理。
    • 再一次,什么是“我没有得到准确的结果”?你得到什么,你想要什么?您只想比较视图/表或列的名称还是什么?
    猜你喜欢
    • 2018-06-04
    • 2010-09-15
    • 1970-01-01
    • 2021-03-08
    • 2012-05-26
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    相关资源
    最近更新 更多