在 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 工作台不会为大型查询提供语法错误