Beruflich Dokumente
Kultur Dokumente
secosto,aseguramientos.aseestado, aseguramientos.asevaloraseguradoFROM
incidentes, aseguramientos WHERE incicantheridos=uno
call incidentesunherido('1')
Visualizar los incidentes del vehculo con placas " FLL420", este reporte debe
visualizar la fecha, el lugar, la cantidad de heridos del incidente, la fecha de inicio
la de expiracin de la pliza y el valor asegurado.
CREATE PROCEDURE incidentesFLL420(fll varchar(6)) SELECTincidentes.inc
ifecha,incidentes.incilugar,incidentes.incicantheridos,aseguramientos.asefechai
nicio,aseguramientos.asefechaexpiracion,aseguramientos.asevaloraseguradoF
ROM incidentes,aseguramientos WHERE inciplaca=fll
call incidentesFLL420('FLL420')
Calcule el valor promedio de los cursos cuyas horas sean mayores a 40.
CREATE FUNCTION `valorpromedio`(`input` INT) RETURNS INT(11) NOT DE
TERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN DECLARE
promedio int; SELECT AVG(valor_cur) INTO promedioFROM curso WHERE ho
ras_cur>='40'; RETURN promedio; END
SELECT `valorpromedio`(@p0) AS `valorpromedio`;
Obtener el sueldo promedio de los profesores de la categora 1.
CREATE FUNCTION `sueldopromedio`(`input` INT) RETURNS INT(11) NOT D
ETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN DECLAR
E promedio int; SELECT AVG(sal_prof) INTO promedioFROM profesor WHER
E cate_prof='1'; RETURN promedio; END
SELECT `sueldopromedio`(@p0) AS `sueldopromedio`;
Muestre el nombre del profesor con menor sueldo.
CREATE FUNCTION `menorsueldo`(`inout` INT) RETURNS VARCHAR(30) N
OT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN DEC
LARE nombre varchar(30);SELECT nom_prof INTO nombre FROM profesor wh
ere sal_prof=(select min(sal_prof) from profesor); RETURN nombre; END
SELECT `menorsueldo`(@p0) AS `menorsueldo`;
RETURN valor;
END;
Mostrar cuantos artculos se tienen de cada editorial.
create or replace FUNCTION contareditoriales RETURN NUMBER IS valor
NUMBER;
BEGIN
SELECT COUNT(edi_art) INTO valor FROM articulo;
RETURN valor;
END;
Visualizar todos los datos de la pliza ms costosa.
create or replace FUNCTION polizacostosa RETURN NUMBER IS valor
NUMBER;
BEGIN
SELECT asecodigo INTO valor FROM aseguramientos WHERE
asecosto=(select min(asecosto) from aseguramientos );
RETURN valor;
END;
Visualizar los incidentes con el mnimo nmero de autos involucrados, de este
incidente visualizar el estado de la pliza y el valor asegurado.
create or replace FUNCTION menosautos RETURN NUMBER IS valor
NUMBER;
BEGIN
SELECT incicodigo INTO valor FROM incidentes WHERE
incicanautosinvolucrados=(select min(incicanautosinvolucrados) from
incidentes);
RETURN valor;
END;
Visualizar los datos de la pliza cuyo valor asegurado es el ms costoso, este
reporte adems de visualizar todos los datos de la pliza, debe presentar todos
los datos del vehculo que tiene dicha pliza.
create or replace FUNCTION polizacostosa RETURN NUMBER IS valor
NUMBER;
BEGIN
SELECT asecodigo INTO valor FROM aseguramientos WHERE
asevalorasegurado=(select max(asevalorasegurado) from aseguramientos );
RETURN valor;
END;
Curso
CREATE TRIGGER `cursoupdate` BEFORE UPDATE ON `curso` FOR EACH
ROW INSERT INTO trigger_cursos(CodigoAnterior, NombreAnterior, HorasAnt
erior, ValorAnterior, CodigooNuevo, NombreNuevo,HorasNuevo, ValorNuevo)
VALUES (OLD.cod_curs, OLD.nom_curs, OLD.horas_cur, OLD.valor_cur, NE
W.cod_curs, NEW.nom_curs, NEW.horas_cur,NEW.valor_cur);
Estudiante
CREATE TRIGGER `estudianteupdate` BEFORE UPDATE ON `estudiante` FO
R EACH ROW INSERT INTO trigger_estudiante (DocumentoAnterior, NombreA
nterior, ApellidoAnterior, EdadAnterior,DocumentoNuevo, NombreNuevo, Apelli
doNuevo, EdadNuevo) VALUES (OLD.doc_est, OLD.nom_est, OLD.ape_est, O
LD.edad_est, NEW.doc_est, NEW.nom_est, NEW.ape_est, NEW.edad_est);
Borrado
Profesor
CREATE TRIGGER `profesordelete` AFTER DELETE ON `profesor` FOR EAC
H ROW INSERT INTO trigger_profesores (DocumentoAnterior, NombreAnterior
, ApellidoAnterior, CategoriaAnterior,SalarioAnterior, DocumentoNuevo, Nombr
eNuevo, ApellidoNuevo, CategoriaNuevo, SalarioNuevo) VALUES (OLD.doc_pr
of, OLD.nom_prof, OLD.ape_prof, OLD.cate_prof, OLD.sal_prof);
Curso
CREATE TRIGGER `cursodelete` AFTER DELETE ON `curso` FOR EACH RO
W INSERT INTO trigger_cursos(CodigoAnterior, NombreAnterior, HorasAnterio
r, ValorAnterior, CodigooNuevo,NombreNuevo,HorasNuevo, ValorNuevo) VAL
UES (OLD.cod_curs, OLD.nom_curs, OLD.horas_cur, OLD.valor_cur);
Estudiante
CREATE TRIGGER `estudiantedelete` AFTER DELETE ON `estudiante` FOR
EACH ROW INSERT INTO trigger_estudiante (DocumentoAnterior,NombreAnt
erior, ApellidoAnterior, EdadAnterior, DocumentoNuevo, NombreNuevo, Apellid
oNuevo, EdadNuevo) VALUES (OLD.doc_est, OLD.nom_est, OLD.ape_est, OL
D.edad_est)
En ORACLE; para las tablas Cliente, Articulo, Pedido.
Actualizacin:
Cliente
create or replace trigger "CLIENTEUPDATE"
BEFORE
update on "CLIENTE"
for each row
begin
INSERT INTO trigger_cliente (CodigoAnterior, NombreAnterior, ApellidoAnterior,
DireccionAnterior,DepartamentoAnterior, MesCumpleAnterior, CodigoNuevo,
NombreNuevo, ApellidoNuevo, DireccionNuevo, DepartamentoNuevo,
MesCumpleNuevo) VALUES (:OLD.id_cli, :OLD.nom_cli, :OLD.ape_cli,
:OLD.dir_cli, :OLD.dep_cli, :OLD.mes_cum_cli, :NEW.id_cli,
:NEW.nom_cli, :NEW.ape_cli, :NEW.dir_cli, :NEW.dep_cli,
:NEW.mes_cum_cli);
end;
Jesus Danilo Martinez Morales
Articulo
create or replace trigger "ARTICULOUPDATE"
BEFORE
update on "ARTICULO"
for each row
begin
INSERT INTO trigger_articulo (CodigoAnterior, NombreAnterior, AutorAnterior,
EditorialAnterior, PrecioAnterior, CodigoNuevo, NombreNuevo, AutorNuevo,
EditorialNuevo, PrecioNuevo) VALUES (:OLD.id_art, :OLD.tit_art, :OLD.aut_art,
:OLD.edi_art, :OLD.prec_art, :NEW.id_art, :NEW.tit_art, :NEW.aut_art,
:NEW.edi_art, :NEW.prec_art);
end;
Pedido
create or replace trigger "PEDIDOUPDATE"
BEFORE
update on "PEDIDO"
for each row
begin
INSERT INTO trigger_pedido (CodigoAnterior, DocumentoClienteAnterior,
FechaAnterior, ValorAnterior, CodigoNuevo, DocumentoClienteNuevo,
FechaNuevo, ValorNuevo) VALUES (:OLD.id_ped, :OLD.id_cli_ped,
:OLD.fec_ped, :OLD.val_ped, :NEW.id_ped, :NEW.id_cli_ped, :NEW.fec_ped,
:NEW.val_ped);
end;
Borrado
Cliente
create or replace trigger "CLIENTEDELETE"
AFTER
delete on "CLIENTE"
for each row
begin
INSERT INTO trigger_cliente (CodigoAnterior, NombreAnterior, ApellidoAnterior,
DireccionAnterior,DepartamentoAnterior, MesCumpleAnterior, CodigoNuevo,
NombreNuevo, ApellidoNuevo, DireccionNuevo, DepartamentoNuevo,
MesCumpleNuevo) VALUES (:OLD.id_cli, :OLD.nom_cli, :OLD.ape_cli,
:OLD.dir_cli, :OLD.dep_cli, :OLD.mes_cum_cli);
end;
Articulo
create or replace trigger "ARTICULODELETE"
AFTER
delete on "ARTICULO"
for each row
begin
INSERT INTO trigger_articulo (CodigoAnterior, NombreAnterior, AutorAnterior,
EditorialAnterior, PrecioAnterior, CodigoNuevo, NombreNuevo, AutorNuevo,
EditorialNuevo, PrecioNuevo) VALUES (:OLD.id_art, :OLD.tit_art, :OLD.aut_art,
:OLD.edi_art, :OLD.prec_art);
end;
Jesus Danilo Martinez Morales
Pedido
create or replace trigger "PEDIDODELETE"
AFTER
delete on "PEDIDO"
for each row
begin
INSERT INTO trigger_pedido (CodigoAnterior, DocumentoClienteAnterior,
FechaAnterior, ValorAnterior, CodigoNuevo, DocumentoClienteNuevo,
FechaNuevo, ValorNuevo) VALUES (:OLD.id_ped, :OLD.id_cli_ped,
:OLD.fec_ped, :OLD.val_ped);
end;
En el Motor de su preferencia (ORACLE O MySQL), para las tablas,
Automotores, Aseguramientos, Incidentes.
Actualizacin:
Automotores
CREATE TRIGGER `automotoresupdate` BEFORE UPDATE ON `automotores
` FOR EACH ROW INSERT INTO trigger_automotores (PlacaAnterior, MarcaA
nterior, TipoAnterior, ModeloAnterior,NumeroPasajerosAnterior, CilindrajeAnteri
or, NumeroChasisAnterior, PlacaNuevo, MarcaNuevo, TipoNuevo, ModeloNuev
o, NumeroPasajerosNuevo, CilindrajeNuevo, NumeroChasisNuevo)VALUES (O
LD.autoplaca, OLD.automarca, OLD.autotipo, OLD.automodelo, OLD.autonump
asajeros, OLD.autocilindraje, OLD.autonumchasis, NEW.autoplaca, NEW.auto
marca, NEW.autotipo,NEW.automodelo, NEW.autonumpasajeros, NEW.autocili
ndraje, NEW.autonumchasis)
Aseguramientos
CREATE TRIGGER `aseguramientosupdate` BEFORE UPDATE ON `asegura
mientos` FOR EACH ROW INSERT INTO trigger_aseguramientos(CodigoAnter
ior, FechaInicioAnterior,FechaExpiracionAnterior, ValorAseguradoAnterior, Esta
doAnterior, CostoAnterior, PlacaAnterior, CodigoNuevo, FechaInicioNuevo, Fec
haExpiracionNuevo, ValorAseguradoNuevo,EstadoNuevo, CostoNuevo, PlacaN
uevo) VALUES (OLD.asecodigo, OLD.asefechainicio, OLD.asefechaexpiracion,
OLD.asevalorasegurado, OLD.aseestado, OLD.asecosto, OLD.aseplaca,NEW.
asecodigo, NEW.asefechainicio, NEW.asefechaexpiracion, NEW.asevaloraseg
urado, NEW.aseestado, NEW.asecosto, NEW.aseplaca)
Incidentes
CREATE TRIGGER `incidentesupdate` BEFORE UPDATE ON `incidentes` FO
R EACH ROW INSERT INTO trigger_incidentes(CodigoAnterior, FechaAnterior,
PlacaAnterior, LugarAnterior,CantidadHeridosAnterior, CantidadFatalidadesAnt
erior, CantidadAutosInvolucradosAnterior, CodigoNuevo, FechaNuevo, PlacaN
uevo, LugarNuevo, CantidadHeridosNuevo,CantidadFatalidadesNuevo, Cantida
dAutosInvolucradosNuevo) VALUES (OLD.incicodigo, OLD.incifecha, OLD.incip
laca, OLD.incilugar, OLD.incicantheridos, OLD.incicanfatalidades,OLD.incicana
utosinvolucrados, NEW.incicodigo, NEW.incifecha, NEW.inciplaca, NEW.incilug
ar, NEW.incicantheridos, NEW.incicanfatalidades, NEW.incicanautosinvolucrad
os)
Borrado
Automotores
CREATE TRIGGER `automotoresdelete` AFTER DELETE ON `automotores` F
OR EACH ROW INSERT INTO trigger_automotores (PlacaAnterior, MarcaAnte
Jesus Danilo Martinez Morales