Está en la página 1de 2

use bdsusti

;
SELECT * FROM alumno a
;
SELECT * FROM escuela e
;
SELECT * FROM pension p
;
SELECT * FROM auditalumno a
;
create view Vta_Escuela
as
select e.nomesc NOMBRE_ESCUELA,count(a.nom) CANTIDAD_ALUMNOS
from escuela e,alumno a
where e.idEscuela=a.idEscuela
group by e.idEscuela
;
SELECT * FROM vta_escuela v
;
create view Vta_MontPension
as
select e.nomesc NOMBRE_ESCUELA,Sum(p.mont) MONTO_TOTAL
from escuela e,pension p,alumno a
where e.idEscuela=a.idEscuela and p.idAlumno=a.idAlumno
group by e.idEscuela
;
SELECT * FROM vta_montpension v
;
create view Vta_MontxAlumno
as
select concat(right(a.ape,25),' ',left(a.nom,25)) ALUMNO,sum(p.mont) MONTO_TOTAL
,concat(right(curdate(),2),'/',mid(curdate(),6,2),'/',left(curdate(),4)) FECHA
from pension p,alumno a
where p.idAlumno=a.idAlumno
group by a.idAlumno
;
SELECT * FROM vta_montxalumno v
;
CREATE TABLE auditAlumno (
idAlumnos int,
monAlum decimal(9,2),
fechaAlumno date,
horaAlumno time)
;
delimiter\\
create trigger autalum after insert on pension
for each row
begin
insert into auditAlumno values(new.idAlumno,new.mont,curdate(),curtime());
end\\
delimiter;
DELIMITER $$
CREATE FUNCTION nomtcancelado (pension varchar(15)) RETURNS varchar(15)
begin
declare montpen decimal(9,2);
set montpen = (select sum(mont) from pension where idAlumno=pension);
return montpen;
end $$
DELIMITER ;
SELECT nomtcancelado('2009125629')
;
DELIMITER $$
CREATE FUNCTION nomtxescuela (pension varchar(15)) RETURNS varchar(15)
begin
declare montxesc decimal(9,2);
set montxesc = (select sum(mont) from pension where idAlumno=pension);
return montxesc;
end $$
DELIMITER ;
SELECT nomtxescuela('Medicina')
;
DELIMITER $$
CREATE FUNCTION nomtxescuela (pension varchar(15)) RETURNS varchar(15)
begin
declare montxesc decimal(9,2);
set montxesc = (select e.nomesc,Sum(p.mont) from escuela e,pension p,alumno a
where e.idEscuela=a.idEscuela and p.idAlumno=a.idAlumno and nomesc=pension);
return montxesc;
end $$
DELIMITER ;

También podría gustarte