149 - Disparador (modificar)


Los triggers pueden modificarse y eliminarse.

Al modificar la definición de un disparador se reemplaza la definición existente del disparador por la nueva definición.

La sintaxis general es la siguiente:

 alter trigger NOMBREDISPARADOR
  NUEVADEFINICION;

Asumiendo que hemos creado un disparador llamado "dis_empleados_borrar" que no permitía eliminar más de 1 registro de la tabla empleados; alteramos el disparador, para que cambia la cantidad de eliminaciones permitidas de 1 a 3:

 alter trigger dis_empleados_borrar
  on empleados
  for delete
  as 
   if (select count(*) from deleted)>3--antes era 1
   begin
    raiserror('No puede borrar mas de 3 empleados',16, 1)
    rollback transaction
   end;

Se puede cambiar el evento del disparador. Por ejemplo, si creó un disparador para "insert" y luego se modifica el evento por "update", el disparador se ejecutará cada vez que se actualice la tabla.


Retornar