在Derby服务器中,如何使用模式的系统表中的信息来创建select语句,以便检索每个表的约束名称?
相关手册是《Derby参考手册》。有许多版本可用:10.13是2017年4月的最新版本,但在2009年5月是10.3的最新版本。
原始答案
SELECT c.constraintname, t.tablename FROM sysconstraints c, systables t WHERE c.tableid = t.tableid;
由于Derby的最新版本要求系统目录表的前缀sys.在kiwicomb123的注释中引用了10.13 ,因此可以修改查询以使用显式的JOIN表示法,并使用:
sys.
SELECT c.constraintname, t.tablename FROM sys.sysconstraints c JOIN sys.systables t ON c.tableid = t.tableid;
您可以添加额外的列(例如)c.type来获取约束类型。
c.type