Disparadores Sql
Enviado por meybe69 • 23 de Mayo de 2013 • 333 Palabras (2 Páginas) • 575 Visitas
Disparadores en SQL
Un trigger (o disparador) en una Base de datos, es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.
Usos
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).
Tipos de triggers
Los triggers pueden definirse para las operaciones INSERT, DELETE o Update, y pueden dispararse antes o después de la operación. Finalmente, el nivel de los disparadores puede ser la fila o registro o la orden.
El modificador BEFORE o AFTER indica que el trigger se ejecutará antes o después de ejecutarse la sentencia SQL definida por DELETE, INSERT o UPDATE. Si incluimos el modificador OF el trigger solo se ejecutará cuando la sentencia SQL afecte a los campos incluidos en la lista.
El alcance de los disparadores puede ser la fila o de orden. El modificador FOR EACH ROW indica que el trigger se disparará cada vez que se realizan operaciones sobre cada fila de la tabla. Si
se acompaña del modificador WHEN, se establece una restricción; el trigger solo actuará, sobre las
filas que satisfagan la restricción.
Tipos de disparadores.
Categoria Valores Comentarios
Orden INSERT, DELETE, UPDATE Define que tipo de operación DML provoca la
activación del trigger
Temporalización BEFORE o AFTER Define si el disparador se activa antes o después de
que se ejecute la operación DML
Nivel Fila u Orden Los disparadores con nivel de fila se activan una
vez por cada fila afectada por la orden que provocó
el disparo. Los Triggers con nivel de orden se
activan sólo una vez, antes o después de la orden.
Los disparadores con nivel de fila se identifican
por la cláusula FOR EACH ROW en la definición
del disparador.
...