【发布时间】:2014-12-15 04:41:51
【问题描述】:
我想生成一个“create table”命令,即一个包含 create 语句的字符串,带有一个纯 jdbc 连接。是否有类似 oracles DBMS_METADATA.GET_DDL 过程的可行解决方案?
谢谢
【问题讨论】:
标签: jdbc db2 create-table
我想生成一个“create table”命令,即一个包含 create 语句的字符串,带有一个纯 jdbc 连接。是否有类似 oracles DBMS_METADATA.GET_DDL 过程的可行解决方案?
谢谢
【问题讨论】:
标签: jdbc db2 create-table
据我所知,没有一种工具可以让您在 DB2 中仅使用 SQL 来执行此操作。内置模块不包含检索 DDL 的选项。
但是,您可以做的是创建一个执行 db2look 的外部 Java 用户定义函数,这是在 DB2 中提取 DDls 的工具。
其他方法是访问 DB2 目录(字典)并根据元数据重新创建 DDL:
SELECT 'create table ' || t.tabname || ' ( ' || getColumns(t.tabname) || ')' || ..
FROM SYSCAT.TABLES t
;
并创建函数来检索列等。
【讨论】:
查看我的项目http://code.google.com/p/db2-scheme2ddl/ 以获取代码示例。 我可以使用纯 JDBC 获得 IBM DB2 的表 DDL。
总之,
使用查询查找主要对象的 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=?
【讨论】: