У меня есть схема базы данных Firebird, которая была настроена различными CREATE TABLE
сценариями. Эти сценарии были переданы в систему контроля версий (см. сайты Скотта Аллена ).
Теперь я хочу создать новый скрипт, в котором я хочу, чтобы моя база данных отбрасывала ограничение NOT NULL
для одного столбца в определенной таблице:
ALTER TABLE myTable DROP CONSTRAINT c
Имя ограничения (например, INTEG_219) можно получить с помощью запроса к системной таблице:
SELECT rc.rdb$constraint_name
FROM rdb$relation_constraints rc
join rdb$check_constraints cc
on rc.rdb$constraint_name = cc.rdb$constraint_name
WHERE rc.rdb$constraint_type = 'NOT NULL'
and rc.rdb$relation_name = 'MYTABLE'
and cc.rdb$trigger_name = 'ACOLUMN'
Можно ли объединить эти операторы в одну команду ALTER
?