¿Como crear una condición SQL Unique constraint?



El Unique constraint es una sentencia SQL que evita el ingreso de valores duplicados por columna en una tabla, esto permite restringir los datos que se van a almacenar ya que no acepta valores repetidos, es decir que si tenemos una tabla PAIS con una columna NOMBRE_PAIS y la columna respectivamente tiene valores como “México”,  “Chile”, ”Colombia”, ”Panamá”, ”Uruguay”, si quisiéramos agregar “México” no podremos porque se activara la validación del campo unique.

Creando la tabla

CREATE TABLE CIUDAD (
       CODIGO_CIUDAD NUMBER,
       CODIGO_PAIS     NUMBER,
       NOMBRE_CIUDAD  VARCHAR2(100),
       CONSTRAINT  UNI_NOM_CIUDAD UNIQUE (NOMBRE_CIUDAD)
);

Modificando la tabla

ALTER TABLE CIUDAD ADD CONSTRAINT UNI_NOM_CIUDAD UNIQUE (NOMBRE_CIUDAD);

Se pueden crear unique múltiples,  agregando más campos al unique así: UNIQUE(NOMBRE_CIUDAD, CODIGO_PAIS,…) Esto permitirá crear campos que son unique por registro, aquí lo que se hace es evaluar las columnas por cada registro y si se encuentra  que las columnas NOMBRE_CIUDAD y CODIGO_PAIS, ya contienen esos valores no permitirá ingresar estos nuevos valores.
Cuando se ingresa un valor duplicado en la Columna con la restricción unique, se produce el error:

 

El null no cuenta como un valor por lo tanto el campo con la restricion unique puede almacenar tantos null como sean necesarios.

1 comentario:

  1. ion titanium hair color for red and green
    I'm red titanium fat bike and green for white but I buy metal online want to be more titanium vs stainless steel apple watch daring about the color, but I'm not babylisspro nano titanium hair dryer sure what titanium helix earrings color is or is the closest thing.

    ResponderEliminar