No:anche un vincolo è un oggetto di database e quindi il suo nome deve essere univoco.
Prova ad aggiungere ad es. il nome della tabella al tuo vincolo, in questo modo sarà univoco.
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
)
Fondamentalmente utilizziamo "FK_"(tabella figlio)_(tabella genitore)" per nominare i vincoli e siamo abbastanza soddisfatti di questa convenzione di denominazione.
Informazioni da MSDN
Che i nomi dei vincoli debbano essere univoci per lo schema (ovvero due schemi diversi nello stesso database possono contenere entrambi un vincolo con lo stesso nome) non è documentato in modo esplicito. Piuttosto è necessario presumere che gli identificatori degli oggetti del database debbano essere univoci all'interno dello schema contenitore se non diversamente specificato . Quindi il nome del vincolo è definito come:
Confrontalo con il nome di un index :
che restringe in modo esplicito l'ambito dell'identificatore.