首先,关于这些表的几句话(从Re: System tables in Derby开始):
SYSTABLES has one row for each table in the database. Its primary key is TABLEID,which contains system-generated values. The SCHEMAID is a foreign key column,which references SYSSCHEMAS.
SYSSCHEMAS has one row for each schema in the database. Its primary key is SCHEMAID.
…
SYSCONSTRAINTS has one row for each constraint in the database (primary,unique,foreign and check constraints). Its primary key is CONSTRAINTID,which is a system-generated value. The TABLEID column is a foreign key referring to SYSTABLES.TABLEID. The SCHEMAID column is a foreign key referring to SYSSCHEMAS.SCHEMAID.
所以你可以使用以下查询:
SELECT
C.CONSTRAINTNAME,T.TABLENAME
FROM
SYS.SYSCONSTRAINTS C,SYS.SYSSCHEMAS S,SYS.SYSTABLES T
WHERE
C.SCHEMAID = S.SCHEMAID
AND
C.TABLEID = T.TABLEID
AND
S.SCHEMANAME = 'MYSCHEMA';
然后循环并构建相应的ALTER TABLE DROP CONSTRAINT语句.
参考
原文地址:https://www.jb51.cc/java/437716.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。