Ограничение внешнего ключа SQL Server - пара (тот же кортеж) - PullRequest
1 голос
/ 04 января 2012

Предположим, эти 2 таблицы:

tbl1

ID
name
fkID1
fkID2

tbl2

ID
pkID1
pkID2

Всякий раз, когда данные вставляются в tbl1, как я могу убедиться, что (fkID1, fkID2) существует как строка (кортеж) в tbl2 в форме (pkID1, pkID2)?

У меня нет проблем с наложением ограничения, поэтому fkID1 должен существовать и fkID2 должен существовать, но я хочу убедиться, что они существуют в одной строке.

Либо с помощью SQL, либо с помощью инструкций по его созданию через Management Studio.

1 Ответ

5 голосов
/ 04 января 2012

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

alter table tbl1 with check 
add constraint FK_tbl1_tbl2 
foreign key (fkID1, fkID2) 
references tbl2 (pkID1, pkID2)
...