Una mejora que tenemos en Denali (la próxima versión de SQL Server) es el error recibido cuando se genera una clave duplicada.
En versiones anteriores solamente teníamos como mensaje que se genero una clave duplicada y sobre cual tabla pero sin saber que valor era el del problema.
Ahora en la nueva versión no solo nos indicara la otra información sino que además adicionara que valor es el duplicado.
Aquí pasamos unos ejemplos:
Pre Denali
USE tempdb
GO
CREATE TABLE DBO.EMPLEADOS (ID INT PRIMARY KEY,
NOMBRE VARCHAR(10) NOT NULL)
INSERT INTO DBO.EMPLEADOS (ID,NOMBRE)
VALUES (1,'PEPE')
INSERT INTO DBO.EMPLEADOS (ID,NOMBRE)
VALUES (1,'PEPE'),(2,'Juan')
Msg 2627, Level 14, State 1, Line 2
Violation of PRIMARY KEY constraint 'PK__EMPLEADO__3214EC271A14E395'. Cannot insert duplicate key in object 'dbo.EMPLEADOS'.
The statement has been terminated.
En Denali
INSERT INTO DBO.EMPLEADOS (ID,NOMBRE)
VALUES (1,'PEPE'),(2,'Juan')
Msg 2627, Level 14, State 1, Line 2
Violation of PRIMARY KEY constraint 'PK__EMPLEADO__3214EC270DE13CCD'. Cannot insert duplicate key in object 'dbo.EMPLEADOS'. The duplicate key value is (1).
The statement has been terminated.
Como se puede observar se muestra no solo el error sino que además el numero que esta dando clave duplicada, en este caso el 1