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://docs.microsoft.com/en-us/sql/relational-databases/tables/create-unique-constraints?view=sql-server-ver15

https://www.sqlshack.com/difference-between-unique-indexes-and-unique-constraints-in-sql-server/


Comentarios

Entradas más populares de este blog

ESCANEO DEL CODIGO PDF417 DEL DNI (Documento Nacional de Identidad digital)

Receta electrónica Argentina 2024