Está en la página 1de 3

Actividad

Administrador de base de datos [Nivel


2]
Lección 2 / Actividad 1
Creación de funciones y triggers
FABIOLA TAMAYO PUGLLA

IMPORTANTE

Para resolver tu actividad, guárdala en tu computadora e imprímela.

Si lo deseas, puedes conservarla para consultas posteriores ya que te sirve


para reforzar tu aprendizaje. No es necesario que la envíes para su revisión.

Propósito de la actividad

Operar las funciones y triggers aprendidos para facilitar y automatizar los


procesos en una base de datos.

Practica lo que aprendiste

I. Utiliza la base de datos Northwind que ya instalaste previamente.

II. Escribe el código de los siguientes requerimientos utilizando el


sistema gestor SQL.

a) Crea una función que reciba el Id de un empleado (Employee) y


que regrese el total de órdenes que ha generado.

use Northwind
Select EmployeeID, ReportsTo from Employees

b) Crea una función que reciba el Id de orden (Order) y regrese el


costo total de la orden.

use Northwind
Select OrderID, Freight from Orders

c) Crea una función que regrese el estado que vendió más productos.

use Northwind
declare @maxproducto money
select @maxproducto=max(UnitPrice) from Products

select Region.* from Region


where Region.RegionID=(select RegionID from
Actividad

d) Investiga cuál es la sintaxis y como utilizarás la función MAX () y con


ella crea una función que muestre el registro del empleado que haya
sacado más dinero por sus órdenes de venta.

use Northwind
declare @maxpago money
select @maxpago=max(Freight) from Orders

select Employees.* from Employees


where Employees.EmployeeID=(select EmployeeID from Orders where Freight=@maxpago)
go

e) Crea una función que reciba un Id de cliente (Customer) y


regrese todas las órdenes que ha hecho.

use Northwind
Select CustomerID, Quantity from Customers, [Order Details]

f) Crea una función que reciba un Id de empleado y regrese los


registros de clientes que ha atendido.

use Northwind
Select EmployeeID, CustomerID from Employees, Customers

g) Agrega en la tabla de empleado un campo nuevo llamado


N_Productos de tipo INT, esta se utilizará para guardar el número
de productos que lleva vendidos.

h) Crea un trigger que se dispare al insertar una nueva orden y haga un


Update a la tabla empleados al campo N_Productos donde lleve el
total de productos vendidos
Actividad

III. Ejecuta las funciones y triggers en la base de datos y verifica


su funcionamiento.

Nota: Si las funciones generan error o el resultado no es el esperado


modifícalas.

use Northwind
create trigger PRUEBA_01 on Employees for update as
if (update(N_Productos)) begin
select (d.N_Productos) as 'registro anterior', (i.N_Productos) as 'registro
actualizado' from deleted as d
join inserted as i
on d.EmployeeID=i.EmployeeID end
else begin
raiserror('El total de productos vendidos ha sido actualizado',10, 1) rollback transaction
end;

También podría gustarte