Escolar Documentos
Profissional Documentos
Cultura Documentos
Instrucciones: Utilizando la base de datos Northwind elaborar un cursor que permita resolver
las siguientes preguntas:
1. Lista de todos los detalles de la tabla empleados.
declare cursorEmpleados cursor
for select EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate,
Address,City,
region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath from
Employees
open cursorEmpleados
declare @id int,@ape nvarchar(20), @nom nvarchar(10), @title nvarchar(30), @courtesy
nvarchar(25),
@cumple datetime, @hire datetime, @dir nvarchar(60), @ciu nvarchar(15), @region
nvarchar(15),
@postal nvarchar(10), @pais nvarchar(15), @casa nvarchar(24), @ext nvarchar(4),@nota
nvarchar(255),
@repor int, @fotop nvarchar(255)
fetch next from cursorEmpleados into @id,@ape,@nom,@title,
@courtesy,@cumple,@hire,@dir,@ciu,@region,
@postal, @pais, @casa, @ext,@nota, @repor, @fotop
while @@FETCH_STATUS=0
begin
print 'Codigo Empleado:' + cast(@id as varchar(5))
print 'Apellidos :' + @ape
print 'Nombres :' + @nom
print 'Titulo :' + @title
print 'Titulo Cortesia :' + @courtesy
print 'Fecha Nacimiento :' + cast(@cumple as varchar(10))
print 'Fecha Contratacion :' + cast(@hire as varchar(10))
print 'Direccion :' + @dir
print 'Ciudad :' + @ciu
print 'Region :' + @region
print 'Codigo Postal :' + @postal
print 'Pais :' + @pais
print 'Telefono Fijo :' + @casa
print 'Extension :' + @ext
print 'Notas :' + @nota
print 'Reporte :' + cast(@repor as varchar(50))
print 'Ruta Foto :' + @fotop
fetch next from cursorEmpleados into @id,@ape,@nom,@title,
@courtesy,@cumple,@hire,@dir,@ciu,@region,
@postal, @pais, @casa, @ext, @nota, @repor, @fotop
end
close cursorEmpleados
deallocate cursorEmpleados
3. Lista de todos los nombres de las ciudades que aparecen en la tabla de empleados, no mostrar
2 veces el mismo nombre de la ciudad.
declare cursorCiudad cursor
for select distinct city from Employees
open cursorciudad
declare @city nvarchar(15)
fetch next from cursorciudad into @city
while @@FETCH_STATUS=0
begin
print 'Ciudad :' + @city
fetch next from cursorciudad into @city
end
close cursorciudad
deallocate cursorciudad
6. A partir de la tabla Pedidos lista todos los pedidos que tienen un gasto de envi > 50.
declare cursorPedido cursor
for select OrderID,CustomerID,EmployeeID, OrderDate,RequiredDate,ShippedDate, ShipVia,
Freight,ShipName, ShipAddress,ShipCity,ShipPostalCode,ShipCountry from Orders
where Freight>50
open cursorpedido
declare @id int,@cli nchar(5), @emp int, @order datetime, @requi datetime,
@ship datetime, @via datetime, @fre money, @nom nvarchar(40), @dir nvarchar(60),
@city nvarchar(15), @region nvarchar(15), @postal nvarchar(10), @pais nvarchar(15)
fetch next from cursorpais into @id,@cli,@emp,@order, @requi,
@ship,@via,@fre,@nom,@dir,
@city, @region, @postal, @pais
while @@FETCH_STATUS=0
begin
print 'Numero Pedido:' + cast(@id as varchar(5))
print 'Apellidos :' + @ape
print 'Nombres :' + @nom
print 'Titulo :' + @title
print 'Titulo Cortesia :' + @courtesy
print 'Fecha Nacimiento :' + cast(@cumple as varchar(10))
print 'Fecha Contratacion :' + cast(@hire as varchar(10))
print 'Direccion :' + @dir
print 'Ciudad :' + @ciu
print 'Region :' + @region
print 'Codigo Postal :' + @postal
print 'Pais :' + @pais
print 'Telefono Fijo :' + @casa
print 'Extension :' + @ext
print 'Notas :' + @nota
print 'Reporte :' + cast(@repor as varchar(50))
print 'Ruta Foto :' + @fotop
print '============================================'
fetch next from cursorpais into @id,@ape,@nom,@title,
@courtesy,@cumple,@hire,@dir,@ciu,@region,
@postal, @pais, @casa, @ext,@nota, @repor, @fotop
end
close cursorpais
deallocate cursorpais
7. A partir de la tabla Clientes lista el nombre de la empresa de todos los clientes donde el
cargo es igual a propietario.
8. Lista los nombres de clientes donde la regin est en blanco
9. Insertar un nuevo cliente completando todos los datos de la tabla.
10. Eliminar el cliente insertado en la pregunta 9.