SQL UNIQUE Constraint
La sentencia UNIQUE para MS SQL es una restricción ÚNICA que no permite repeticiones de contenidos de campo.
La restricción UNIQUE asegura que todos los valores de una columna sean diferentes.
Tanto las restricciones UNIQUE como PRIMARY KEY proporcionan una garantía de unicidad para una columna o un conjunto de columnas.
Una restricción PRIMARY KEY tiene automáticamente una restricción ÚNICA.
Sin embargo, puede tener muchas restricciones UNIQUE por tabla, pero solo una restricción PRIMARY KEY por tabla.
Probemos como funciona
Antes de aplicar UNIQUE a un campo debemos cerciorarnos de que no haya duplicaciones para eso usamos un group by
SELECT Código
FROM [Nomenclador de Prácticas]
GROUP BY Código
HAVING (COUNT(*) > 1)
Luego de comprobar que no hay duplicaciones lo primero hay que hacer un back de la tabla:
SELECT * INTO NomenclCambioUnicoBAK FROM [Nomenclador de Prácticas]
El back siempre olo tenemos que hacer es por las dudas (si ya lo habias generado antes del cambio, no tiene sentido hacerlo de vuelta)
Luego de hacer la copia de seguridad de la tabla estamos en condiciones de generar la restriccion con la siguiente sentencia:
ALTER TABLE [Nomenclador de Prácticas]
El NDP_COFIGO_UNQ es un nombre que se me ocurrio, podes poenerle cualquiera, lo demas tiene que ir tal cual
ADD CONSTRAINT NDP_CODIGO_UNQ UNIQUE (Código);
Referencias
https://www.w3schools.com/sql/sql_unique.asp
https://www.sqlshack.com/difference-between-unique-indexes-and-unique-constraints-in-sql-server/
Comentarios
Publicar un comentario