我正在尝试从现有的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的列,它将为每个视图提供create语句。这对表格来说非常有用。
谢谢,
答案 0 :(得分:0)
dblook的完整源代码作为Derby源的一部分提供。你可以在这里阅读dblook:http://db.apache.org/derby/docs/10.8/tools/ctoolsdblook.html