【发布时间】:2011-02-05 15:48:52
【问题描述】:
有没有办法从 Derby 数据库中的现有表生成 CREATE TABLE 代码?还是收集必要表格信息的简单方法?
【问题讨论】:
有没有办法从 Derby 数据库中的现有表生成 CREATE TABLE 代码?还是收集必要表格信息的简单方法?
【问题讨论】:
您可以尝试使用dblook 工具将 Apache Derby 数据库表转储到 sql 文件中。
【讨论】:
如果您只希望 CREATE 语句重新创建表,这对我有用:
CREATE TABLE new_table AS SELECT * FROM old_table WITH NO DATA;
但是,如果您真的希望 CREATE 语句用于创建类似表之外的其他目的,这将无济于事。
【讨论】:
嗯,这个问题已有 6 年的历史了,但下面的屏幕截图显示了一种简单的方法来做你想做的事。我希望你没有等到。 ;)
右键单击您感兴趣的表并选择Scripts -> Create TableScript。
当你选择这个菜单项时,你会得到一个包含 SQL 的窗口,例如
CREATE TABLE "JOOMP"."METRICLEVELS"
(
LEVELID int NOT NULL,
LEVELNAME varchar(30) NOT NULL
)
;
如果您还需要使用现有数据填充表的 SQL,请使用 Scripts -> Create Data Script。对于此示例,您将获得:
INSERT INTO "JOOMP"."METRICLEVELS" (LEVELID,LEVELNAME) VALUES (2,'Project');
INSERT INTO "JOOMP"."METRICLEVELS" (LEVELID,LEVELNAME) VALUES (3,'Package Fragment Root');
INSERT INTO "JOOMP"."METRICLEVELS" (LEVELID,LEVELNAME) VALUES (4,'Package Fragment');
INSERT INTO "JOOMP"."METRICLEVELS" (LEVELID,LEVELNAME) VALUES (5,'Compilation Unit');
INSERT INTO "JOOMP"."METRICLEVELS" (LEVELID,LEVELNAME) VALUES (7,'Type');
INSERT INTO "JOOMP"."METRICLEVELS" (LEVELID,LEVELNAME) VALUES (9,'Method');
【讨论】:
我没有任何使用 derby 的经验,但您可以尝试使用 JDBC API 来收集数据库元数据
【讨论】:
【讨论】: