Disparadores<br />
Mysqlhttp://dev.mysql.com/doc/refman/5.0/es/using-triggers.html<br />
Definición<br />Un disparador es un objeto de base de datos con nombre que se asocia a una tabla, y se activa cuando ocurr...
Aplicaciones<br /><ul><li> Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que ...
   Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista...
  Permite implementar programas basados en paradigma lógico (sistemas expertos, deducción).</li></li></ul><li>Para crear o...
Sintaxis de CREATE TRIGGER<br />CREATE TRIGGER nombre_dispmomento_dispevento_disp<br />ON nombre_tabla FOR EACH ROW senten...
Sintaxis de DROP TRIGGER<br />DROP TRIGGER [nombre_esquema.]nombre_disp<br />Elimina un disparador. El nombre de<br />esqu...
Un disparador se asocia con una tabla y se define para que se active al ocurrir una sentencia INSERT, DELETE, o UPDATE sob...
Este es un ejemplo sencillo que asocia un disparador con una tabla para cuando reciba sentencias INSERT.<br />Actúa como u...
La siguiente sentencia crea la tabla y un disparador asociado a ella: <br />
DISPARADORES<br />SQL Server<br />
Es un tipo de procedimiento almacenado que se ejecuta cuando se intenta modificar los datos de una tabla (o vista).<br />S...
INSERTUPDATE   DELETE<br />createtriggerNOMBREDISPARADOR<br />on NOMBRETABLA<br />for EVENTO<br />as SENTENCIAS<br />
Las siguientes instrucciones no están permitidas en un desencadenador: <br /><ul><li>createdatabase
alter database
Upcoming SlideShare
Loading in …5
×

Disparadores

9,313 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,313
On SlideShare
0
From Embeds
0
Number of Embeds
969
Actions
Shares
0
Downloads
233
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Disparadores

  1. 1. Disparadores<br />
  2. 2. Mysqlhttp://dev.mysql.com/doc/refman/5.0/es/using-triggers.html<br />
  3. 3. Definición<br />Un 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. <br />
  4. 4. Aplicaciones<br /><ul><li> 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.
  5. 5. Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc.
  6. 6. Permite implementar programas basados en paradigma lógico (sistemas expertos, deducción).</li></li></ul><li>Para crear o eliminar un disparador, se emplean las sentencias <br />CREATE TRIGGER<br /> y<br /> DROP TRIGGER. <br />
  7. 7. Sintaxis de CREATE TRIGGER<br />CREATE TRIGGER nombre_dispmomento_dispevento_disp<br />ON nombre_tabla FOR EACH ROW sentencia_disp<br />
  8. 8. Sintaxis de DROP TRIGGER<br />DROP TRIGGER [nombre_esquema.]nombre_disp<br />Elimina un disparador. El nombre de<br />esquema es opcional. <br />Si el esquema se omite, el disparador <br />se elimina en el esquema actual<br />
  9. 9. 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. <br />
  10. 10. Este es un ejemplo sencillo que asocia un disparador con una tabla para cuando reciba sentencias INSERT.<br />Actúa como un acumulador que suma los valores insertados en una de las columnas de la tabla. <br />
  11. 11. La siguiente sentencia crea la tabla y un disparador asociado a ella: <br />
  12. 12. DISPARADORES<br />SQL Server<br />
  13. 13. Es un tipo de procedimiento almacenado que se ejecuta cuando se intenta modificar los datos de una tabla (o vista).<br />Se definen para una tabla (o vista) específica.<br />Se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas.<br />
  14. 14. INSERTUPDATE DELETE<br />createtriggerNOMBREDISPARADOR<br />on NOMBRETABLA<br />for EVENTO<br />as SENTENCIAS<br />
  15. 15. Las siguientes instrucciones no están permitidas en un desencadenador: <br /><ul><li>createdatabase
  16. 16. alter database
  17. 17. dropdatabase
  18. 18. load database
  19. 19. restoredatabase
  20. 20. load log
  21. 21. reconfigure
  22. 22. restore log
  23. 23. disk init
  24. 24. disk resize</li></li></ul><li>Ejemplo<br />Como ejemplo crearemos un Trigger que avise al webmaster con un mail cuando un usuario se da de alta en nuestro web.<br />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. <br />
  25. 25. AlterTriggerTrigger_Aviso_al_WebmasterOndbo.pr_usuariosForInsertAs<br />// Declaramos las variables del mensaje y del ID del nuevo usuarioDeclare @Mensaje varchar(200)Declare @ID numeric<br />// Obtenemos el id del usuario recien insertadoSelect @ID = (SelectIDUsuarioFromInserted )Select @Mensaje = ‘Nuevo Usuarios en el web : ‘ + Convert(varchar(10), @ID)<br />Execmaster.dbo.xp_sendmail@recipients = ‘webmaster@dominio.com’, @subject = ‘Nuevo usuario’,@message = @Mensaje<br />

×