为 Db2 表生成 DDL

Posted

技术标签:

【中文标题】为 Db2 表生成 DDL【英文标题】:DDL Generation For Db2 tables 【发布时间】:2014-03-03 07:42:56 【问题描述】:

我正在开发一个 Web 项目,我将在其中访问 Db2 表并显示表的内容。现在,当用户从网页单击“生成 DDL”选项时,我需要生成表的 DDL 模式.是否有任何命令或 JAVA API 来获取 Db2 表的 DDL?

【问题讨论】:

哪个 DB2、LUW/IBM i/Z?什么版本? 【参考方案1】:

查看我的项目http://code.google.com/p/db2-scheme2ddl/ 以获取代码示例。 我可以使用纯 JDBC 获得 IBM DB2 的表 DDL。

总之,

    调用未记录的 DB2 函数 CALL SYSPROC.DB2LK_GENERATE_DDL('-e -z SAMPLE', ?) 存储第二个 INOUT 供以后使用的参数

    使用查询查找主要对象的 DDL

    选择 OP_SEQUENCE、SQL_STMT、OBJ_SCHEMA、OBJ_TYPE、OBJ_NAME、SQL_OPERATION FROM SYSTOOLS.DB2LOOK_INFO 其中 OP_TOKEN=?和 OBJ_SCHEMA=?和 OBJ_TYPE=?和 OBJ_NAME=?

【讨论】:

【参考方案2】:

您可以像这样使用 db2look 转储表 ddl:

db2look -z <table schema> -d <database name> -noview -nofed -e -x -t <table name>

【讨论】:

以上是关于为 Db2 表生成 DDL的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式为用户定义的数据类型 (UDDT) 生成 DDL 语句

从 Google 电子表格中的一个单元格导出 DB2 DDL

ORACLE表生成MYSQL建表DDL

如何以编程方式从 Oracle 数据库生成 DDL?

DB2:尝试在交叉表中引用自动生成的字段

自动生成的时间戳列(主键)到现有表 DB2