Chad Callihan obliquely reminds us to create those unique constraints (by way of unique indexes):
Did you know there is more than one way to set a variable in SQL Server? You can actually set a variable without using “SET” at all. Let’s look at an example that shows how setting a variable with SELECT can cause a headache when dealing with identical values.
Click through to see the problem in action. One way around this if you do know you are dealing with duplicates and need a specific one is to SELECT TOP(1)
with an appropriate ORDER BY
clause, just as you would if variable assignment weren’t on the table.