Установить внешний ключ с таблицей - PullRequest
0 голосов
/ 25 января 2012

Привет, я новичок в программировании и работе с базами данных. У меня вопрос по поводу внешнего ключа.

У меня есть две таблицы в SQL Server 2008. CallDetails, PageDetails.

Например Таблица PageDetails.

    PageId PageLoadTime PageUnloadTime
       1      12:00PM         1:00PM
       2      1:00PM          2:00PM
       3      2:00PM          3:00PM

Таблица CallDetails

    CallId CallStartTime CallEndTime
      1       12:05PM       12:10PM
      2       12:15PM       12:25PM
      3       02:35PM       02:40PM

Теперь я хочу еще один Cloumn as PageId в таблице CallDetaiuls, где время CallId должно быть между продолжительностью PageDetails. Например, CallId 1 имеет PageId 1, CallId 2 имеет PageId 1, CallId3 имеет PageId 3.

Я знаю, что я могу сделать это с помощью передачи внешнего ключа в таблицу CallDetails, но как я могу дать условие, как указано выше для назначения внешнего ключа ????

1 Ответ

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

Внешний ключ только обеспечивает, что значение в столбце PageId в CallDetails должно встречаться в таблице PageDetails. Для всей другой логики вы можете использовать, например:

* ПРОВЕРЬТЕ ОГРАНИЧЕНИЯ (бесполезно в вашем случае) http://msdn.microsoft.com/en-us/library/ms188258.aspx

* DML TRIGGERS (для более сложной логики, сравнения с данными из другой таблицы и т. Д.) http://msdn.microsoft.com/en-us/library/ms189799.aspx * Ваша собственная логика в приложении.

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

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