我有一张查询表

Tbl_UserType_value_lookup:

UserTypeID  |AllowedValue
-------------------------
1           |x
1           |y
2           |u
3           |a

(这表示1类型的用户只能输入xy类型的值,而不能输入ua ..so等类型)

我还有一张桌子
Tbl_Activity:

UserID   |userTypeID    |value
---------------------------

现在在此表中,如何使用1约束将Tbl_UserType_value_lookup类型的用户重新设置为每个CHECK表的值?

还有其他办法吗?

最佳答案

假设Tbl_UserType_value_lookup上的UserTypeID, Allowed Value具有唯一键,则Tbl_Activity上的复合外键可以引用这些列。

(即UserType,Value的组合必须在Tbl_UserType_value_lookup上存在才能插入。

这里有很多关于此的讨论:

Creating a composite foreign key in SQL Server 2008

10-06 14:15