我想制作一个创建表格'命令,即包含create语句的字符串,具有纯jdbc连接。有没有可行的解决方案,如oracles DBMS_METADATA.GET_DDL程序?
由于
答案 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。
简而言之,
使用查询
查找主对象的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 =?