Personally I would consider splitting this off into another table. I find triggers and check constraints a bit obscure sometimes and try to use them only when totally necessary. This would also be more efficient than searching UserOrg on every insert\ update.CREATE TABLE dbo.UserOrgPrimary ( UserID INT NOT NULL , Org VARCHAR(20) NOT NULL , CONSTRAINT pk_UserOrgPrimary PRIMARY KEY CLUSTERED (UserID) WITH (FILLFACTOR = 90) , CONSTRAINT fk_UserOrgPrimary_UserOrg FOREIGN KEY (UserID, Org) REFERENCES UserOrg (UserID, Org) ON DELETE CASCADE )GO