Você está na página 1de 4

EXAMEN DE ADMINISTRACION DE BASE DE DATOS

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

2. Lista de los nombres y apellidos de los empleados.


declare cursorDatosEmpleados cursor
for select FirstName, LastName from Employees
open cursorDatosEmpleados
declare @nom nvarchar(10), @ape nvarchar(20)
fetch next from cursorDatosEmpleados into @nom,@ape
while @@FETCH_STATUS=0
begin
print 'Nombres :' + @nom
print 'Apellidos :' + @ape
fetch next from cursorDatosEmpleados into @nom,@ape
end
close cursorDatosEmpleados
deallocate cursorDatosEmpleados

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

4. Lista de nombres de productos y precios unitarios.

declare cursorProducto cursor


for select ProductName, UnitPrice from Products
open cursorproducto
declare @nompro nvarchar(40), @precio money
fetch next from cursorproducto into @nompro, @precio
while @@FETCH_STATUS=0
begin
print 'Nombre Proucto :' + @nompro
print 'Precio Unitario :' + cast(@precio as varchar(50))
print '============================================'
fetch next from cursorproducto into @nompro, @precio
end
close cursorproducto
deallocate cursorproducto

5. Lista de los detalles completos de los empleados que viven en EE.UU.

declare cursorPais cursor


for select EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate,
HireDate, Address,City,
region, PostalCode, Country, HomePhone, Extension, Notes, ReportsTo, PhotoPath from
Employees
where country='USA'
open cursorpais
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 cursorpais 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
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

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.

Você também pode gostar