Las opciones de Supresión en Cascada o Definir Nulo en Suprimir pueden establecerse desde el momento de creación de las tablas. Desde SQLDeveloper marcamos la casilla Avanzado, nos situamos en la columna que es clave ajena y seleccionamos en el árbol Restricciones. En la lista desplegable del botón Añadir seleccionamos Nueva Clave Ajena Restricción como se muestra en la imagen.
Y podremos elegir la opción en la lista desplegable del cuadro "Al suprimir" como se muestra en la siguiente imagen.
Si la tabla ya estaba creada, y posteriormente se desea establecer una restricción de clave ajena con una opción concreta se puede establecer desde la opción Editar tabla siguiendo los pasos similares a la definición en la creación de la nueva tabla, como se muestra en la imagen.
Si estas operaciones se quieren realizar con código SQL, se dispone de las siguientes opciones durante la declaración de la clave ajena de la tabla: utilizar la opción ON DELETE CASCADE
para hacer la supresión en cascada, o bien ON DELETE SET NULL
si se prefiere definir nulo en suprimir. Por ejemplo:
CONSTRAINT JUEGOS_CON FOREIGN KEY (Cod_Juego) REFERENCES JUEGO (Codigo) ON DELETE CASCADE;
Hay que recordar que una declaración de este tipo debe hacerse en el momento de crear la tabla (CREATE TABLE
) o modificar su estructura (ALTER TABLE
).