假设有一个表称为电子邮件
CREATE TABLE Emails (
ID nvarchar(40) NOT NULL,
Link_ID int NOT NULL,
GROUP int NOT NULL,
Email nvarchar(100) NOT NULL)
和一张桌子叫信息
CREATE TABLE Info (
CUST_ID int NOT NULL,
Link_ID int NOT NULL)
这是表,我不是能够改变他们的列的简图。
我的目标是这样的:
允许:
Cust_ID Group Email
1 0 [email protected]
1 1 [email protected]
禁止:
Cust_ID Group Email
1 0 [email protected]
1 0 [email protected]
Cust_ID Group Email
1 0 [email protected]
2 1 [email protected]
Cust_ID Group Email
1 0 [email protected]
2 0 [email protected]
如何在MSSQL 2014达到这种独特性?
编辑:我的目标是这样的:
直接你不能把UNIQUE
约束在多个表上,我建议你可以去下面的方法之一。
IF EXISTS
。Indexed View
并把你放在它唯一约束。我的建议将是,创建一个索引视图,并把所需的约束。要了解更多关于这一点,你可以检查Enforcing Complex Constraints with Indexed Views