Как изменить ограничение

57

SQL Как изменить ограничение

Ниже 1 из моих ограничений

CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode),

Я хочу добавить

ON DELETE CASCADE

к указанному выше ограничению.

Как мне изменить существующее ограничение ACTIVEPROG_FKEY1 и добавить

ON DELETE CASCADE

для ограничения ACTIVEPROG_FKEY1

Рассмотрим ACTIVEPROG_FKEY1 в таблице ACTIVEPROG

Теги:

2 ответа

80
Лучший ответ

Вы не можете изменять ограничения когда-либо, но их можно отбросить, а затем воссоздать.

Посмотрите на это

ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;

а затем воссоздайте его с помощью ON DELETE CASCADE, как этот

ALTER TABLE your_table
add CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode)
    ON DELETE CASCADE;

надеюсь, что эта помощь

  • 0
    Вы можете включить / отключить ограничения.
  • 0
    @FlorinGhita, да, мы можем включить / отключить ............... Иногда бывает полезно отключить одно или несколько ограничений для таблицы, сделать что-то существенное, а затем снова включить констант (ы). ) после того, как вы закончите. Чаще всего это делается для повышения производительности во время операции массовой загрузки.
6

Нет. Мы не можем изменить ограничение, только мы можем сделать, это сбросить и воссоздать его

ALTER TABLE [TABLENAME] DROP CONSTRAINT [CONSTRAINTNAME]

Ограничение внешнего ключа

Alter Table Table1 Add Constraint [CONSTRAINTNAME] Foreign Key (Column) References Table2 (Column) On Update Cascade On Delete Cascade

Ограничение первичного ключа

Alter Table Table add constraint [Primary Key] Primary key(Column1,Column2,.....)
  • 6
    Это правда, что то, что хочет ОП, невозможно, но почему вы публикуете ссылку на сайт SQL Server для вопроса с тегом Oracle?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню