Denali: Mejor información ante un error de clave duplicada (msg 2627)

by Maxi Accotto 26. julio 2011 00:41

 

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

Tags: ,

Denali

Agregar Comentario




biuquote
  • Comentario
  • Vista Previa
Loading


Maximiliano Damian Accotto