Solucion Taller Procedimientos Almacenados1
Solucion Taller Procedimientos Almacenados1
Solucion Taller Procedimientos Almacenados1
c
c
c
c
cc
cc c
ccccc
cc Fecha:
Sistema de cc c!c Noviemb
Gestión de ""c#c" cc"""cc c re-2010
la Calidad
c
Solución taller Procedimientos Almacenados 1
40130
Presentado a:
Sandra Rueda
Base de Datos
c
c
c
c
c
c
cc
cc c
ccccc
cc Fecha:
Sistema de cc c!c Noviemb
Gestión de ""c#c" cc"""cc c re-2010
la Calidad
c
"c "c$c
c
c
Redacte las sentencias SQL para crear los procedimientos almacenados para los
siguientes planteamientos:
º cc% cc
c c
c
1. Procedimiento almacenado (Store Procedure) para consultar los datos del último
viaje registrado.
&c !cc
use Terminal
go
sp_executesql ConsultarViaje
use Terminal
go
sp_executesql CantidadViajes
use Terminal
go
Create procedure Buses_fuera_circulacion
c
c
c
c
c
cc
cc c
ccccc
cc Fecha:
Sistema de cc c!c Noviemb
Gestión de ""c#c" cc"""cc c re-2010
la Calidad
c
As
select bu_placa,bu_fechfabri ,COUNT (vi_placa)As [Cantidad Viajes]
from Buses B inner join Viajes V on B.bu_placa=V.vi_placa
where year(bu_fechfabri )<1995
Group by bu_placa,bu_fechfabri
Having COUNT (vi_placa)>60
go
sp_executesql Buses_fuera_circulacion
º cc% cc
c
'( c
c
4. El gerente de recursos humanos debe tener disponible la información de
cuáles de sus empleados ya están pensionados, esto quiere decir que ya
cumplieron 60 años, en el procedimiento almacenado, utilice la siguiente
sintaxis SQL para hallar la edad.
DATEDIFF(YEAR,NomColumnaTipoFecha ,GETDATE())
use Northwind
go
Select LastName,FirstName,BirthDate,HireDate,2010-YEAR(BirthDate)-60 As
[Tiempo Pensionado]
from Employees
where DATEDIFF(YEAR, BirthDate,GETDATE()) >60
group by LastName,FirstName,HireDate,BirthDate
order by HireDate asc
go
sp_executesql Empleados_Pensionados
use Northwind
go
Create procedure Empleados_Proximos_Pension
As
select LastName,FirstName,2010-Year(BirthDate)as Edad,2010-
YEAR(HireDate) As Tiempo_Servicio
from Employees
where DATEDIFF(YEAR, BirthDate,GETDATE()) >=55 and
DATEDIFF(YEAR, BirthDate,GETDATE())<=59 and 2010-YEAR(HireDate)>=
17
order by BirthDate asc
go
sp_executesql Empleados_Proximos_Pension
6. El área de compras requiere generar un reporte diario con los datos de los
productos que deben pedir; para ello quieren visualizar el nombre del producto,
precio unitario, el precio promedio en ventas y la diferencia entre el precio
unitario y el precio promedio en ventas, todo esto siempre y cuando el producto
no se encuentre descontinuado.
use Northwind
go
Create procedure Productos_a_Pedir
As
go
sp_executesql Productos_a_Pedir
DECLARE
@codigo CHAR(5),
@compras money
8. Redacte la sentencia que permita ver en pantalla el monto total de ventas del
empleado con código 8 durante el año 1997 y la diferencia entre el monto total
de ventas del mismo empleado menos lo que vendió en 1997.
DECLARE
@codigo int,
@Diferencia integer,
@total integer
set @codigo=8
set @total =(