GESTION DE BASE DE DATOS
TRABAJO FINAL
FUNCIONES, TRIGGERS Y TRANSACCIONES
VILCA QUISPE ALEXIS JEFFERSON
CÓDIGO:141788
ARCAYA COAQUIRA WILLIAM EUSEBIO
LINK:
[Link]
CMLaS_mmxVk5PLJOB?usp=sharing
1. Implementar una función que calcule la diferencia de fechas en años (fecha actual - fecha de
nacimiento), usar dicha función para:
a. mostrar la edad de los empleados (Northwind)
b. mostrar el tiempo de servicios en la empresa. (Northwind)
c. Explicar el uso de dicha función en otra base de datos tal como AdventureWorks
2. Tomando en cuenta su propia base de datos con las tablas:
Implementar un trigger que almacene un pedido y actualice el stock.
En la base de datos Tienda se creo las tablas galletas y venta.
Con un stock de galletas.
Ahora se creará el trigger para añadir ventas y actualizar el stock.
create trigger ventasgalelta
on ventas
for insert
as
declare @stock int
select @stock= stock from galletas
join inserted
on [Link]=[Link]
where [Link]=[Link]
if (@stock>=(select cantidad from inserted))
update galletas set stock=[Link]
from galletas
join inserted
on [Link]=[Link]
where codigo=[Link]
else
begin
raiserror ('Ya no hay galletas en stock para realizar la venta', 16, 1)
rollback transaction
end
Verificaremos la tabla ventas y Añadiremos ventas
Ahora se ingresará una venta por una cantidad de 100 galletas
Y nos salta el disparador que nos dice que no hay cantidad suficiente para realizar la venta.
3. Implementar una TRANSACCIÓN en la BD AdventureWorks o en su propia base de datos.
Explicar su uso.
Se ve la tabla galletas donde en stock, la galleta casino ya no tiene stock
Ahora añadiremos mas galletas con la transacción.
Y volvemos a ver el stock de la tabla galletas y verificamos que el estoy se realizó.