Las acciones referenciales permiten que un usuario actualice o elimine una columna de la tabla principal. Si se elimina una columna de la tabla principal, se elimina inmediatamente de la tabla secundaria.
Sintaxis:
foreign key (foreign-key_constraint) references parent_table (parentkey_column) ON Update Action
Considere dos tablas: Student (tabla principal) y Marks (tabla secundaria) de la base de datos de la universidad. Si un usuario desea actualizar una columna, debe hacerlo de la siguiente manera:
Mesa – Estudiante
Nombre | Rollnumber | Curso |
---|---|---|
maya | 111 | CSE |
Riya | 112 | mecánico |
Tabla – Marcas
Nombre | Rollnumber | Marcas |
---|---|---|
maya | 111 | 8.9 |
Riya | 112 | 7.9 |
La consulta SQL para realizar la acción de actualización en la tabla es:
foreign key references Student(rollnumber) ON Update Action
Producción –
Mesa – Estudiante
Nombre | Rollnumber | Curso |
---|---|---|
maya | 110 | CSE |
Riya | 111 | mecánico |
Tabla – Marcas
Nombre | Rollnumber | Marcas |
---|---|---|
maya | 110 | 8.9 |
Riya | 111 | 7.9 |
Esto también actualiza la columna de número de rollo de toda la tabla principal y secundaria. En la sintaxis, la restricción no es un término obligatorio para incluir. Se puede utilizar siempre que sea necesario. Hay otras acciones permitidas: sin acción, en cascada, establecer nulo, establecer predeterminado.
- Al actualizar sin acción:
genera un error y revierte la acción de actualización en la tabla principal. - En actualización en cascada:
la acción en cascada actualiza todas las filas de la tabla principal y secundaria. - Al actualizar establecer nulo:
las filas de la tabla principal y secundaria se establecen en nulo solo si la clave externa es anulable. - Al actualizar el valor predeterminado:
las filas de la tabla secundaria se establecen como predeterminadas si las filas correspondientes de la tabla principal se actualizan solo si la clave externa tiene definiciones predeterminadas.
Publicación traducida automáticamente
Artículo escrito por mangalgiaishwarya2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA