Nej - en begränsning är också ett databasobjekt, och därför måste dess namn vara unikt.
Prova att lägga till t.ex. tabellnamnet till din begränsning, på så sätt blir det unikt.
CREATE TABLE BankAccount
(
BankAccountID INT PRIMARY KEY,
EmployerCode VARCHAR(20) NOT NULL,
Amount MONEY NOT NULL,
CONSTRAINT FK_BankAccount_Employer
FOREIGN KEY (EmployerCode) REFERENCES Employer
)
Vi använder i princip "FK_"(underordnad tabell)_(överordnad tabell)" för att namnge begränsningarna och är ganska nöjda med denna namnkonvention.
Information från MSDN
Att begränsningsnamn måste vara unika för schemat (dvs. två olika scheman i samma databas kan båda innehålla en begränsning med samma namn) är inte explicit dokumenterat. Snarare måste du anta att identifierarna för databasobjekt måste vara unika inom det innehållande schemat om inte annat anges . Så begränsningsnamnet är definierat som:
Jämför detta med namnet på ett index :
vilket uttryckligen begränsar räckvidden för identifieraren.