EmpID DeptID 1 1 1 2 2 1 3 2 4 5 5 2 1 1 2 1
我希望有一个约束来确保该对字段始终是唯一的,示例中所示的最后两个数据不应插入表中。在上表中,请注意最后两行是重复,我想防止此类数据的发生。如何在sqlserver 2005中实现此目标。
ALTER TABLE <YourTable, sysname, Emp> ADD CONSTRAINT <YourConstraintName, sysname, uix> UNIQUE NONCLUSTERED (EmpID,DeptID)
(粘贴到SSMS中并使用(CTRL + Shift + M))
或者在创建表时执行此操作,听起来好像没有替代键的使用。
CREATE TABLE EMPLOYEE_DEPARTMENT( EmpID int NOT NULL REFERENCES EMPLOYEE(EmpID), DeptID int NOT NULL REFERENCES DEPARTMENT(DeptID), CONSTRAINT PK_EMPLOYEE_DEPARTMENT PRIMARY KEY CLUSTERED (EmpID ASC,DeptID ASC) )