0

我正在尝试从现有的 derby 模式中提取 create table 语句。我可以通过这个获取所有的列和数据类型。

select * from SYS.SYSTABLES a inner join sys.SYSCOLUMNS b on a.TABLEID= b.REFERENCEID

这给了我表名、列名、数据类型、默认值、自动增量等。对于基本的表构建非常有用。它缺少约束和索引。

我可以通过以下方式获得有关约束的一些信息:

select a.*, b.TABLENAME from SYS.SYSCONSTRAINTS a inner join sys.SYSTABLES b on a.TABLEID = b.TABLEID

这将为我提供约束名称、它所在的表和类型。我不知道类型字母是什么意思。我也不确定这里有索引信息。

我想要的是与我可以从视图中得到的非常相似的东西。

select * from sys.SYSVIEWS

有一个名为 VIEWDEFINITION 的列将为我提供每个视图的创建语句。这对表格非常有用。

谢谢,

4

1 回答 1

0

dblook 的完整源代码作为 Derby 源代码的一部分提供。您可以在此处阅读有关 dblook 的信息:http: //db.apache.org/derby/docs/10.8/tools/ctoolsdblook.html

于 2012-07-16T19:55:37.313 回答