Академический Документы
Профессиональный Документы
Культура Документы
CONCEPTOS BSICOS
Un disparador es un tipo especial de procedimiento almacenado que se ejecuta cuando se insertan, eliminan o actualizan datos de una tabla especificada. Los disparadores pueden ayuda a mantener la integridad de referencia de los datos conservando la consistencia entre los datos relacionados lgicamente de distintas tablas.
SINTAXIS
CREATE TRIGGER [ esquema. ]nombre_trigger ON { Tabla | Vista } { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS sentencia sql [ ; ]
EJERCICIOS
Trigger que al hacer un pedido actualiza el total de la orden y el stock del producto (BD: Pedidos)
create trigger tr_detallepedido on item for insert as update ordenpedido set total=item.subtotal+inserted.subtotal from ordenpedido, inserted, item where ordenpedido.ordid=inserted.ordid and ordenpedido.ordid=item.ordid update producto set stock=stock-inserted.cantidad from producto, inserted where producto.prodid=inserted.prodid
6
EJERCICIOS PROPUESTOS
1. Crear un trigger sobre la tabla pais que en caso de que se borre 2. 3. 4. 5. 6. 7.
una fila de sta elimine las respectivas filas de la tabla proveedor Trigger que en caso de insercin sobre la tabla producto verifique la existencia del cdigo de categora y del cdigo del proveedor y en caso de no encontrarlos no realice el proceso. Creamos un disparador para que no permita eliminar ms de un registro a la vez de la tabla categoras Creamos un disparador para que no permita ingresar productos de la categora bebidas Al insertar un producto verificar que el stock no sea negativo Crear un trigger de actualizacin que muestre el valor anterior y el nuevo valor de los registros actualizados en la tabla producto Crear un trigger que se active cuando eliminamos un pedido elimine los pedidos en el detalle
10