Вы можете запросить системные таблицы SYS.SYSCONSTRAINTS, SYS.SYSTABLES и SYS.SYSSCHEMAS, чтобы получить все имена ограничений и связанные таблицы для данной схемы.
Сначала несколько слов об этих таблицах (из Re: Системные таблицы в Derby ):
SYSTABLES содержит по одной строке для каждой таблицы в базе данных.Его первичный ключ - TABLEID, который содержит сгенерированные системой значения.SCHEMAID - это столбец внешнего ключа, который ссылается на SYSSCHEMAS.
SYSSCHEMAS имеет одну строку для каждой схемы в базе данных.Его первичный ключ - SCHEMAID.
...
SYSCONSTRAINTS имеет одну строку для каждого ограничения в базе данных (первичные, уникальные, внешние и проверочные ограничения).Его первичный ключ - CONSTRAINTID, который является сгенерированным системой значением.Столбец TABLEID является внешним ключом, ссылающимся на SYSTABLES.TABLEID.Столбец SCHEMAID является внешним ключом, относящимся к 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оператор.
Ссылки