db2 jdbc:generate create table命令

时间:2014-11-07 15:21:20

标签: jdbc db2 create-table

我想制作一个创建表格'命令,即包含create语句的字符串,具有纯jdbc连接。有没有可行的解决方案,如oracles DBMS_METADATA.GET_DDL程序?

由于

2 个答案:

答案 0 :(得分:0)

据我所知,没有一个工具可以让你在只有SQL的DB2中做到这一点。内置模块不包含检索DDL的选项。

但是,您可以做的是创建一个执行db2look的外部Java用户定义函数,这是在DB2中提取DDls的工具。

其他方法是访问DB2目录(字典)并根据元数据重新创建DDL:

SELECT 'create table ' || t.tabname || ' ( ' || getColumns(t.tabname) || ')' || ..
FROM SYSCAT.TABLES t
;

创建函数以检索列等。

答案 1 :(得分:0)

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

简而言之,

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

    查找主对象的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 =?