Habrá ocasiones en la que nos interese que no se puedan repetir valores en la columna, en estos casos utilizaremos la restricción UNIQUE
. Oracle crea un índice automáticamente cuando se habilita esta restricción y lo borra al deshabilitarla.
También para esta restricción tenemos dos posibles formas de ponerla, veámoslo con un ejemplo. Supongamos que el campo Login de nuestra tabla va a ser único. Lo incluiremos en la tabla que estamos creando. Nos quedaría así:
CREATE TABLE USUARIOS (
Login VARCHAR2 (25)
CONSTRAINT Usu_Log_UK UNIQUE);
Veamos otra forma:
CREATE TABLE USUARIOS (
Login VARCHAR2 (25) UNIQUE);
También podemos poner esta restricción a varios campos a la vez, por ejemplo, si queremos que Login y correo electrónico sean únicos podemos ponerlo así:
CREATE TABLE USUARIOS (
Login VARCHAR2 (25),
Correo VARCHAR2 (25),
CONSTRAINT Usuario_UK UNIQUE (Login, Correo));
Si te fijas, detrás del tipo de datos de Correo hay una coma, eso es así porque la restricción es independiente de ese campo y común a varios. Por eso después de UNIQUE
hemos puesto entre paréntesis los nombres de los campos a los que afecta la restricción.