如何解决如何确定HSQLDB中定义了哪些外键?
| 如何知道HSQLDB中定义了哪些外键? 我从文档中看到的最好的是:select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
但这仅给了我以下几点。
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG UNIQUE_CONSTRAINT_SCHEMA UNIQUE_CONSTRAINT_NAME MATCH_OPTION UPDATE_RULE DELETE_RULE
------------------ ----------------- --------------- ------------------------- ------------------------ ---------------------- ------------ ----------- -----------
PUBLIC PUBLIC SYS_FK_10078 PUBLIC PUBLIC SYS_PK_10029 NONE NO ACTION CASCADE
PUBLIC PUBLIC SYS_FK_10079 PUBLIC PUBLIC SYS_PK_10029 NONE NO ACTION NO ACTION
PUBLIC PUBLIC SYS_FK_10080 PUBLIC PUBLIC SYS_PK_10071 NONE NO ACTION CASCADE
PUBLIC PUBLIC SYS_FK_10116 PUBLIC PUBLIC SYS_PK_10071 NONE NO ACTION CASCADE
PUBLIC PUBLIC SYS_FK_10120 PUBLIC PUBLIC SYS_PK_10029 NONE NO ACTION CASCADE
PUBLIC PUBLIC SYS_FK_10124 PUBLIC PUBLIC SYS_PK_10029 NONE NO ACTION NO ACTION
PUBLIC PUBLIC SYS_FK_10128 PUBLIC PUBLIC SYS_PK_10071 NONE NO ACTION CASCADE
PUBLIC PUBLIC SYS_FK_10131 PUBLIC PUBLIC SYS_PK_10071 NONE NO ACTION CASCADE
我需要知道为哪些表和列分配了外键,并且需要能够删除它们。
解决方法
您可以将以下选择与REFERENTIAL_CONSTRAINTS视图结合使用:
select * from information_schema.constraint_column_usage
select * from information_schema.constraint_table_usage
另外,INFORMATION_SCHEMA.SYSTEM_CROSSREFERENCE视图是外键,其表和列的独立视图。
有关列表,请参见http://hsqldb.org/doc/2.0/guide/databaseobjects-chapt.html#dbc_information_schema。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。