La Red de Conocimientos Pedagógicos - Currículum vitae - Disparador SQL

Disparador SQL

Ejemplo de disparador SQL

Definición: ¿Qué es un disparador? En SQL Server, es un programa que realiza una determinada operación en una determinada tabla, desencadena una determinada condición y se ejecuta. Un disparador es un procedimiento almacenado especial.

Hay tres activadores comunes: se aplican a los eventos Insertar, Actualizar y Eliminar.

¿Por qué debería utilizar desencadenantes? Por ejemplo, estas dos tablas:

Crear tabla Estudiante( --Tabla de estudiantes

ID de estudiante int clave primaria, --Número de estudiante

....

)

Crear tabla BorrowRecord( --Tabla de registro de préstamos de estudiantes

BorrowRecord int identidad(1, 1), --Número de serie

StudentID int, --número de estudiante

Fecha y hora de préstamo, --hora de préstamo

Fecha y hora de regreso, --hora de regreso

...

p>

)

Las funciones utilizadas son:

1. Si cambio la identificación de estudiante del estudiante, espero que su registro de préstamo aún esté relacionado con este estudiante (Eso es decir, cambiar la identificación de estudiante de la tabla de registro de préstamo de libros al mismo tiempo);

2. Si el estudiante se graduó, espero eliminar su identificación de estudiante y también eliminar su registro de préstamo de libros.

Espera.

En este momento se pueden utilizar disparadores.

Para 1, cree un activador de actualización:

Crear activador truStudent

En Estudiante: cree un activador en la tabla de Estudiantes

para Actualización: por qué activador de evento

Como: qué hacer después de que se active el evento

si la actualización (StudentID)

comienza

actualiza BorrowRecord

Establecer StudentID=i.StudentID

De BorrowRecord br, Eliminado d, Insertado i --Tablas temporales eliminadas e insertadas

Donde br.StudentID=d.StudentID

p>

end

Comprenda las dos tablas temporales en el activador: Eliminadas e Insertadas. Tenga en cuenta que Eliminado e Insertado representan respectivamente el "registro antiguo" y el "registro nuevo" de la tabla que desencadenó el evento.

Existen dos tablas virtuales en un sistema de base de datos que se utilizan para almacenar la información registrada en la tabla, las cuales son:

Tabla virtual Insertada Tabla virtual Eliminada

Cuando se Se agrega el registro de la tabla, el nuevo registro se almacena pero no el registro.

Cuando se modifica el registro de la tabla, se almacena el nuevo registro utilizado para la actualización. Se almacena el registro anterior a la actualización.

Cuando se elimina el registro de la tabla, el registro eliminado no se almacena.

Un proceso de actualización se puede ver como: generar nuevos registros en la tabla Insertada, copiar registros antiguos en la tabla Eliminada y luego. eliminando el registro de Estudiante y escribiendo el nuevo registro.

Para 2, cree un activador de eliminación

Cree el activador trdStudent

En Estudiante

para Eliminar

Como

Eliminar BorrowRecord

De BorrowRecord br , Delted d

Donde br.StudentID=d.StudentID

A partir de estos dos ejemplos podemos vea la clave del disparador: A. 2 tablas temporales B. Mecanismo de disparo.

Ejemplo 2 de activador SQL