Вы находитесь на странице: 1из 3

CENTRO DE GESTION DE MERCADOS LOGISTICA Y TECNOLOGIAS DE LA INFORMACION Fecha:

ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION octubre/2010

Taller De Procedimientos Almacenados 2

Con la base de datos Terminal construya los siguientes procedimientos.

1. Crear un procedimiento al que dada la placa de un bus, muestre su


capacidad y el valor promedio de los pasajes para los viajes realizados
durante los últimos dos meses.

use Terminal
go

alter procedure punto1


@plakvarchar(8),
@tiempoint

as
selectbu_placa ,bu_capacidad, avg (vi_valopasaj) as total

fromdbo.Buses b inner join Viajes v on b.bu_placa = v.vi_placa

wherebu_placa = @plak and month (vi_fechviaje) like @tiempo

group by bu_placa, bu_capacidad

go

use Terminal

Execute punto1 'vdr005' , 02

Elaborado por: Instructora Sandra Yanneth Rueda Guevara


SENA - Área de Teleinformática
CENTRO DE GESTION DE MERCADOS LOGISTICA Y TECNOLOGIAS DE LA INFORMACION Fecha:
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION octubre/2010

2. Crear un procedimiento que nos permita conocer la placa del bus, código
de la flota, y número de pasajeros transportados en general es decir, en
todos los viajes que haya realizado. Únicamente para buses cuya
capacidad sea mayor a un número determinado de pasajeros.

use Terminal
go
alter procedure punto2
@capacidadint
as

selectbu_placa , bu_codiflot , count (vi_numepasajero)


fromdbo.Buses bus inner join dbo.Viajes via on bus.bu_placa = via.vi_placa
wherebu_capacidad = @capacidad
group by bu_placa , bu_codiflot
go

use Terminal
execute punto2 20

3. Construir un procedimiento que reciba un numero que corresponde a un


trimestre del año y muestre un listado con código y nombre de los
conductores cuya fecha de cumpleaños corresponda a ese trimestre.

use Terminal
go
alter procedure punto3
@trimestre int
as
begin
if @trimestre = 1
select MONTH (co_fechnaci), co_codiconduc , co_nombconduc ,co_fechnaci
from dbo.Conductores
where MONTH (co_fechnaci) in (1 ,2, 3)

else if @trimestre = 2
select MONTH (co_fechnaci)
from dbo.Conductores
where MONTH (co_fechnaci) in (4 ,5,6)
else if @trimestre = 3

Elaborado por: Instructora Sandra Yanneth Rueda Guevara


SENA - Área de Teleinformática
CENTRO DE GESTION DE MERCADOS LOGISTICA Y TECNOLOGIAS DE LA INFORMACION Fecha:
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION octubre/2010

select MONTH (co_fechnaci)


from dbo.Conductores
where MONTH (co_fechnaci) in (7 ,8 , 9)
else if @trimestre = 4
select MONTH (co_fechnaci)
from dbo.Conductores
where MONTH (co_fechnaci) in (10 , 11, 12)

select co_codiconduc , co_nombconduc ,co_fechnaci


from dbo.Conductores
where month (co_fechnaci) like @trimestre
end

go

use Terminal
execute punto3 @t

4. Construir un procedimiento que permita incrementar el valor del pasaje


en un porcentaje determinado para una ruta de la cual se recibe su
nombre.

use TRANSPORTES
go
create procedure punto4
@nombre varchar(30)
as

select ru_codiruta, ru_nombruta , ru_valopasaj+ 7000


from dbo.Rutas
where ru_nombruta = @nombre

go

use TRANSPORTES

Execute punto4 'BOGOTA ACACIAS'

Elaborado por: Instructora Sandra Yanneth Rueda Guevara


SENA - Área de Teleinformática

Вам также может понравиться