在 Netezza Aginity 中显示创建表

Posted

技术标签:

【中文标题】在 Netezza Aginity 中显示创建表【英文标题】:SHOW CRATE TABLE in Netezza Aginity 【发布时间】:2021-11-10 15:49:17 【问题描述】:

什么是 Netezza SQL 中来自 mysql 的等效命令 SHOW CREATE TABLE tbl_name

例如,我有包含这些列的 iris 表。

我的预期输出

使用带有 HeidiSQL ID 的 MySQL 添加屏幕截图

我需要一个等同于SHOW CREATE TABLE tbl_name 的语句,来自 MySQL.

【问题讨论】:

"我需要看看表是如何创建的" 比如,它最初是如何创建的?还是您只是在寻找当前存在的表的 DDL? db2 有describe 如果我没记错的话,不确定 netteza 是否有相同的命令,给它一枪。 @esqew 我已经编辑了问题以更好地解释我的需求。 【参考方案1】:

在 Netezza 上,没有简单的方法可以通过例如在系统视图上运行查询来获取表的 ddl。

替代方案:在 Netezza 主机上,如果您有访问权限,则可以使用命令行工具 nz_ddl_table (/nz/support/bin/nz_ddl_table)。这是一个复杂的脚本,它使用大量系统视图(如_v_relation_column)来构建 DDL。

【讨论】:

【参考方案2】:

您是否尝试过操作通用语法:

CREATE [ TEMPORARY | TEMP ] TABLE [IF NOT EXISTS] <table>
( <col> <type> [<col_constraint>][,<col> <type> [<col_constraint>]…]
[<table_constraint>[,<table_constraint>… ] )
[ DISTRIBUTE ON  RANDOM | [HASH] (<col>[,<col>…])  ]
[ ORGANIZE ON  (<col>) | NONE  ]
[ ROW SECURITY ]

您可以从下面的 IBM 网站获得更多参考资料!

IBM Netezza SQL

【讨论】:

OP 正在询问如何基于预先存在的表以编程方式生成这样的查询。这没有回答问题。

以上是关于在 Netezza Aginity 中显示创建表的主要内容,如果未能解决你的问题,请参考以下文章

在 Netezza (Aginity) 中安装 UDF

如何在 Netezza(Aginity) 中删除这些记录

在 aginity 中使用 nzsql 命令

Netezza 的 Aginity 工作台不会为大型查询提供语法错误

通过 Aginity Workbench for Netezza 导入 excel 文件时出错

Aginity Netezza 宏包含一个列表