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.
![Editar tabla. Restricción clave ajena. Pulsar para ampliar Restricción clave ajena en Edita Tabla SQLdeveloper](BD05_CONT_4_2d.jpg)
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
).