Examen base de datos 3
Enviado por Luis65443060 • 15 de Julio de 2022 • Examen • 567 Palabras (3 Páginas) • 122 Visitas
[pic 1]
PRACTICA 03 DE BASE DE DATOS
Área : Ingeniería Informática
Profesor : Alberto Moreno Cueva
Secciones :
Duración : 90 minutos
Fecha de aplicación : 04/07/2022
Hora programada : 9:45
I.-Realizar las siguientes funciones: (6 puntos)
a) Pasando un código de docente obtener la cantidad de horas dictadas
create function h_dictadas
(@COD_doc char(4))
returns numeric(3,1)
as
begin
declare @resultado numeric(3,1)
set @resultado=(select SUM(horas) from Docente D INNER JOIN horario H ON D.COD_doc = H.COD_doc where D.COD_doc = 'D001' group by D.COD_doc)
return @resultado
end;
b) Que genere el código de docente a partir de D001
create function genera_codigo
(@COD_doc char(4) )
returns char(4)
as
begin
declare @resultado char(4)
set @resultado= concat(LEFT(@COD_doc,2),cast( RIGHT(@COD_doc,2) as int) + 1)
return @resultado
end;
c) Pasando un código de docente obtener el pago que se le debe pagar
por todos los cursos dictados
create function PAGAR_HORAS
(@COD_doc char(4) )
returns char(4)
as
begin
declare @resultado char(4)
set @resultado= (select SUM(horas)*C.tarifa as HORAS_DICTADAS from Docente D
INNER JOIN horario H ON D.COD_doc = H.COD_doc
INNER JOIN categorias C ON D.cat_cod = C.cat_cod
where D.COD_doc = @COD_doc group by D.COD_doc,C.tarifa)
return @resultado
end;
II procedimientos almacenados que impriman en consola (4 puntos cada uno)
Escoger uno de ellos.
- Pasando un código de docente muestre sus datos , en caso que exista
De lo contrario muestre código no existe.
[pic 2]
CREATE PROCEDURE SP_buscar_docente @COD_doc char(4)
AS
SELECT * FROM Docente WHERE COD_doc = @COD_doc
GO;
execute SP_buscar_docente @COD_doc = 'D001';
- Pasando un Código de curso que muestre todos los docentes que dictan dicho curso con su tarifaxhora
[pic 3]
CREATE PROCEDURE SP_buscar_curso @COD_cur char(4)
...