Sql Server
Sintaxis básica:
create triggre NOMBREDISPARADORon NOMBRETABLA
for delete
as
SENTENCIAS
Analizamos la sintaxis:
"create trigger" junto al nombre del disparador; "on" seguido del nombre dela tabla para la cual se establece el trigger.
Luego de "for" se coloca el evento (en este caso "delete"), lo que indica que las eliminaciones sobre la tabla activarán el trigger.
Luego de "as" seespecifican las condiciones que determinan cuando un intento de eliminación causa las acciones que el trigger realizará.
El disparador del siguiente ejemplo se crea para la tabla "ventas", para quecada vez que se elimine un registro de "ventas", se actualice el campo "stock" de la tabla "libros" (por ejemplo, si el comprador devuelve los libros comprados):
create triggerDIS_ventas_borrar
on ventas
for delete
as
update libros set stock= libros.stock+deleted.cantidad
from librosjoin deleted
on deleted.codigolibro=libros.codigo;
Entonces, creamos el disparador ("create trigger") dándole un nombre ("DI_ventas_borrar") sobre ("on") unatabla específica ("ventas") para ("for") el evento de borrado ("delete"). Luego de "as" colocamos las sentencias, las acciones que el trigger realizará cuando se elimine un registro en "ventas" (eneste caso, aumentar el stock de "libros").
Cuando se activa un disparador "delete", los registros eliminados en la tabla del disparador se agregan a una tabla llamada "deleted". La tabla "deleted" esuna tabla virtual que conserva una copia de los registros eliminados; tiene una estructura similar a la tabla en que se define el disparador, es decir, la tabla en que se intenta la acción.
Dentro...
Regístrate para leer el documento completo.