Disparadores
Mysqlhttp://dev.mysql.com/doc/refman/5.0/es/using-triggers.html
DefiniciónUn disparador es un objeto de base de datos con nombre que se asocia a una tabla, y se activa cuando ocurre un evento en particular para la tabla.
Aplicaciones Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute la sentencia de SQL.
   Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc.
  Permite implementar programas basados en paradigma lógico (sistemas expertos, deducción).Para crear o eliminar un disparador, se emplean las sentencias CREATE TRIGGER y DROP TRIGGER.
Sintaxis de CREATE TRIGGERCREATE TRIGGER nombre_dispmomento_dispevento_dispON nombre_tabla FOR EACH ROW sentencia_disp
Sintaxis de DROP TRIGGERDROP TRIGGER [nombre_esquema.]nombre_dispElimina un disparador. El nombre deesquema es opcional. Si el esquema se omite, el disparador se elimina en el esquema actual
Un disparador se asocia con una tabla y se define para que se active al ocurrir una sentencia INSERT, DELETE, o UPDATE sobre dicha tabla.
Este es un ejemplo sencillo que asocia un disparador con una tabla para cuando reciba sentencias INSERT.Actúa como un acumulador que suma los valores insertados en una de las columnas de la tabla.
La siguiente sentencia crea la tabla y un disparador asociado a ella:
DISPARADORESSQL Server
Es un tipo de procedimiento almacenado que se ejecuta cuando se intenta modificar los datos de una tabla (o vista).Se definen para una tabla (o vista) específica.Se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas.
INSERTUPDATE   DELETEcreatetriggerNOMBREDISPARADORon NOMBRETABLAfor EVENTOas SENTENCIAS
Las siguientes instrucciones no están permitidas en un desencadenador: createdatabase
alter database

Disparadores

  • 1.
  • 2.
  • 3.
    DefiniciónUn disparador esun objeto de base de datos con nombre que se asocia a una tabla, y se activa cuando ocurre un evento en particular para la tabla.
  • 4.
    Aplicaciones Son usadospara mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute la sentencia de SQL.
  • 5.
    Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc.
  • 6.
    Permiteimplementar programas basados en paradigma lógico (sistemas expertos, deducción).Para crear o eliminar un disparador, se emplean las sentencias CREATE TRIGGER y DROP TRIGGER.
  • 7.
    Sintaxis de CREATETRIGGERCREATE TRIGGER nombre_dispmomento_dispevento_dispON nombre_tabla FOR EACH ROW sentencia_disp
  • 8.
    Sintaxis de DROPTRIGGERDROP TRIGGER [nombre_esquema.]nombre_dispElimina un disparador. El nombre deesquema es opcional. Si el esquema se omite, el disparador se elimina en el esquema actual
  • 9.
    Un disparador seasocia con una tabla y se define para que se active al ocurrir una sentencia INSERT, DELETE, o UPDATE sobre dicha tabla.
  • 10.
    Este es unejemplo sencillo que asocia un disparador con una tabla para cuando reciba sentencias INSERT.Actúa como un acumulador que suma los valores insertados en una de las columnas de la tabla.
  • 11.
    La siguiente sentenciacrea la tabla y un disparador asociado a ella:
  • 12.
  • 13.
    Es un tipode procedimiento almacenado que se ejecuta cuando se intenta modificar los datos de una tabla (o vista).Se definen para una tabla (o vista) específica.Se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas.
  • 14.
    INSERTUPDATE DELETEcreatetriggerNOMBREDISPARADORon NOMBRETABLAfor EVENTOas SENTENCIAS
  • 15.
    Las siguientes instruccionesno están permitidas en un desencadenador: createdatabase
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    disk resizeEjemploComo ejemplocrearemos un Trigger que avise al webmaster con un mail cuando un usuario se da de alta en nuestro web.El funcionamiento del trigger es muy sencillo, declaramos dos variables, una para el mensaje que se enviará en el mail y otra para obtener el ID del registro recién insertado y luego este ID lo concatenamos al mensaje para enviárselo al webmaster.
  • 25.
    AlterTriggerTrigger_Aviso_al_WebmasterOndbo.pr_usuariosForInsertAs// Declaramos lasvariables del mensaje y del ID del nuevo usuarioDeclare @Mensaje varchar(200)Declare @ID numeric// Obtenemos el id del usuario recien insertadoSelect @ID = (SelectIDUsuarioFromInserted )Select @Mensaje = ‘Nuevo Usuarios en el web : ‘ + Convert(varchar(10), @ID)Execmaster.dbo.xp_sendmail@recipients = ‘webmaster@dominio.com’, @subject = ‘Nuevo usuario’,@message = @Mensaje