【问题标题】:Get the DDL of all the tables in teradata as a resultset获取 teradata 中所有表的 DDL 作为结果集
【发布时间】:2015-04-06 06:49:43
【问题描述】:

有没有一种方法可以在一个查询中提取所有表的 DDL。

select DatabaseName,TableName,RequestText from db.tables; 

给出数据库名、表名和表上的最后一个 DDL。但是是否有可能让 DDL 以结果集的形式创建表到查询而不是多次查询 show db.tableName

【问题讨论】:

    标签: sql teradata


    【解决方案1】:

    你可以试试这个:

    sel 'show table ' || databasename   ||'.'||   tablename ||';'  
    from dbc.tables where databasename = 'dbname' and tablekind = 'T';
    

    然后您可以执行此查询的输出以获取 DDL,例如:

    show table dbname.sometablename;
    

    【讨论】:

    • 但这就像运行许多查询一样。我想以 1 的顺序在单个查询中获取它。
    • @DeepakRam:- 我认为没有任何方法可以在一个查询中获得它!
    • 如果你把它放到一个 BTEQ 脚本中,你可以导出 SELECT 查询的输出,然后转身在同一个 BTEQ 脚本中运行输出。
    猜你喜欢
    • 2013-12-31
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多