Restricción UNIQUE en Oracle

A la hora de crear una tabla podemos especificar diferentes restricciones. La restricción UNIQUE en Oracle evalúa si en una columna el valor se repite. Si encuentra el valor repetido nos devolverá un fallo cuando intentemos insertar o actualizar la tabla.

Tabla nueva

Sintaxis

Para establecer una restricción UNIQUE al crear una tabla utiliza la siguiente sintaxis:

CREATE TABLE nombreTabla (
	id SERIAL PRIMARY KEY,
	campo1 VARCHAR (50),
	campo2 VARCHAR (50) UNIQUE
);

Si quieres establecer una restricción única a un grupo de columnas debes utilizar la siguiente sintaxis:

CREATE TABLE nombreTabla (
	id SERIAL PRIMARY KEY,
	campo1 VARCHAR (50),
	campo2 VARCHAR (50),
	UNIQUE (campo1, campo2)
);

Con la sintaxis anterior estas indicando que la combinación del campo1 y campo2 siempre debe ser único.

Ejemplo

En el siguiente ejemplo puedes comprobar como se crea una restricción única sobre el campo email de la tabla de empleados:

CREATE TABLE empleados_restriccion
(
    id_empleado numeric(2,0),
    email varchar(50) UNIQUE,
    sueldo integer
);
Restricción UNIQUE en Oracle

Tabla existente

Sintaxis

Si ya tienes la tabla creada y quieres modificar un campo para que contenga una restricción UNIQUE puedes hacerlo siguiendo esta sintaxis:

CREATE UNIQUE INDEX nombreIndice
ON empleados (campo);

Ejemplo

Imagina que ya tenemos creada la tabla de empleados y queremos aplicar una restricción única al campo nombre. Deberíamos seguir estos pasos:

CREATE UNIQUE INDEX empleados_nombre
ON empleados (nombre);

Escribir un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.