Как применить ограничения реляционного внешнего ключа в Microsoft SQL Server Management Studio? - PullRequest
0 голосов
/ 19 января 2012

У меня есть база данных с двумя таблицами, PROCESS (PK Process_Id) и PROCESS_STAGE (PK Stage_Id, FK Process_Id).

По крайней мере, я думаю, что настроил это - в диалоговом окне отношений внешнего ключа у меня есть

  • Базовая таблица внешнего ключа: PROCESS_STAGE ,
  • Столбцы внешнего ключа: Process_Id,
  • Таблица первичных / уникальных ключей: PROCESS ,
  • Столбец первичного / уникального ключа: Process_Id.

Я также установил принудительное применение для репликации и принудительное ограничение внешнего ключа на «Да».

Но я все еще могу делать следующие вещи, которые нарушают эти отношения:

  1. Удалить элементы из ПРОЦЕСС , на которые есть ссылки из PROCESS_STAGE

Что мне нужно сделать, чтобы исправить это?

Спасибо!

1 Ответ

1 голос
/ 19 января 2012

Попробуйте использовать SQL для создания внешнего ключа

ALTER TABLE PROCESS_STAGE WITH CHECK ADD
    CONSTRAINT FK_PROCESSTAGE_PROCESS 
          FOREIGN KEY (Process_Id) REFERENCES PROCESS (Process_Id)

Если это все еще не помогло, посмотрите на схему / владельца таблиц: у вас может быть несколько таблиц, и вы используете неправильную.Пример:

  • dbo.PROCESS_STAGE
  • deed02392.PROCESS_STAGE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...