AP6-AA2-Ev1-Usar Lenguaje Transaccional Sobre La Base de Datos
Short Description
desarrollo del laboratorio No. 13 de la tecnologia ADSI Sena...
Description
LABORATORIO 13 Usar lenguaje Transaccional sobre la Base de Datos
Informe Escrito
Presentado por:
LEIDY JHOJANA CHOQUE JIMENEZ Aprendiz
SERVICIO NACIONAL DE APRENDIZAJE SENA ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION 2018
Usar lenguaje Transaccional sobre la Base de Datos
Ejercicios:
Tomando como referencia, las entidades construidas en el laboratorio 12_SQL:
1. Construya los siguientes procedimientos Almacenados para inserción de registro. DATOS REALIZADOS EN MYSQL
PROFESOR: Delimiter // CREATE PROCEDURE insertarprofesor ( IN Documento varchar(11), IN Nombre varchar(30), IN Apellido varchar(30), IN Catedra int(11), IN Salario int(11) )
BEGIN INSERT INTO profesor (ProDocumento, ProNombre, ProApellido, ProCatedra, ProSalario)
VALUES (Documento, Nombre, Apellido, Catedra, Salario);
End //
CALL Insertarprofesor ('1111845','Eduard','Valencia','5', '1300000');
CURSOS Delimiter // CREATE PROCEDURE insertarcurso ( IN Codigo int(11), IN Nombre varchar(100), IN Hora int(11), IN Valor int(11) )
BEGIN INSERT INTO curso (CurCodigo, CurNombre, CurHora, CurValor)
VALUES (Codigo, Nombre, Hora, Valor);
End //
CALL insertarcurso ('146544','Introducion SQL','50','4000000');
ESTUDIANTE Delimiter // CREATE PROCEDURE nuevoestudiante ( IN Documento varchar(11), IN Nombre varchar(30), IN Apellido varchar(30), IN Edad int(11) )
BEGIN INSERT INTO estudiante (EstDocumento, EstNombre, EstApellido, EstEdad)
VALUES (Documento, Nombre, Apellido, Edad);
End //
CALL nuevoestudiante ('14212210','Adonay','Romero', '40');
ESTUDIANTEXCURSO Delimiter // CREATE PROCEDURE nuevoestudiantexcurso ( IN Fechainicio date, IN Curso int(11), IN Documento varchar(11) )
BEGIN INSERT INTO estudiantexcurso (EstFechainicio, EstCurso, EstDocumento)
VALUES (Fechainicio, Curso, Documento);
End //
CALL nuevoestudiantexcurso ('2012-01-01','146544','14212210');
ORACLE
TABLA CLIENTE
TABLA ARTICULO
TABLA PEDIDO
COMPAÑÍA Delimiter // CREATE PROCEDURE nuevacompañia ( IN Nit varchar(11), IN Nombre varchar(30), IN Añofundacion int(11), IN Reprelegal varchar(100) )
BEGIN INSERT INTO compañia (ComNit, ComNombre, ComAñofundacion, ComReprelegal)
VALUES (Nit, Nombre, Añofundacion, Reprelegal);
End //
CALL nuevacompañia ('899999999-7','Seguros Nuevos','2005','Eduard Romero');
TIPOS DE AUTOMOTORES Delimiter // CREATE PROCEDURE nuevoautomotortipo ( IN Tipo int(11), IN Nombre varchar(20) )
BEGIN INSERT INTO automotorestipos (AutTipo, AutNombre)
VALUES (Tipo, Nombre);
End //
CALL nuevoautomotortipo ('5','Camioneta');
AUTOMOTORES Delimiter // CREATE PROCEDURE nuevoauto ( IN Placa varchar(6), IN Marca varchar(30), IN Tipo int(11), IN Modelo int(11), IN Numpasajeros int(11), IN Cilindraje int(11), IN Numchasis varchar(20) )
BEGIN INSERT INTO vehiculos (VehPlaca, VehMarca, VehTipo, VehModelo, VehNumpasajeros, VehCilindraje, VehNumchasis)
VALUES (Placa, Marca, Tipo, Modelo, Numpasajeros, Cilindraje, Numchasis);
End //
CALL nuevoauto ('DKT120','Mazda Fx','5','2010', '5','2400', 'wywwzz200kk023d49');
ASEGURAMIENTOS Delimiter // CREATE PROCEDURE nuevoaseguramiento ( IN Codigo int(11), IN Fechainicio date, IN Fechaexpiracion date, IN Valorasegurado int(11), IN Estado varchar(100), IN Costo int(11), IN Placa varchar(6) )
BEGIN INSERT INTO aseguramientos (AseCodigo, AseFechainicio, AseFechaexpiracion, AseValorasegurado, AseEstado, AseCosto, AsePlaca)
VALUES (Codigo, Fechainicio, Fechaexpiracion, Valorasegurado, Estado, Costo, Placa);
End //
CALL nuevoaseguramiento ('4','2012-10-30','2013-10-30','60000000', 'vijente','700000', 'DKT120');
INCIDENTES Delimiter // CREATE PROCEDURE nuevoinsidente ( IN Codigo int(11), IN Fecha date, IN Placa varchar(6), IN Lugar varchar(40), IN Numeroheridos int(11), IN Numeromuertos int(11), IN Autosinvolucrados int(11) )
BEGIN INSERT INTO incidentes (IncCodigo, IncFecha, IncPlaca, IncLugar, IncNumeroheridos, IncNumeromuertos, IncAutosinvolucrados)
VALUES (Codigo, Fecha, Placa, Lugar, Numeroheridos, Numeromuertos, Autosinvolucrados);
End //
CALL nuevoinsidente ('4','2011-07-27','DKT120','Pereira','2','1','1');
2. En Oracle construya los procedimientos almacenados para realizar los Siguientes procesos: • Muestre los salarios de los profesores ordenados por categoría.
• Muestre los cursos cuyo valor sea mayor a $500.000.
• Visualizar el nombre, apellido y dirección de todos aquellos clientes que hayan realizado realizad o un pedido el día 25 /02/2012.
• Listar todos los pedidos realizados incluyendo el nombre del artículo.
• Listar los todos datos de los automotores cuya póliza expira en octubre de 2013, este reporte debe visualizar la placa, el modelo, la marca, número de pasajeros, cilindraje nombre n ombre de automotor, el valor de la póliza y el valor asegurado.
3. En MySQL construya los procedimientos almacenados para realizar los siguientes procesos:
Muestre todos los campos de la tabla curso en orden ascendente según el valor.
CREATE PROCEDURE cursovalorascendente() SELECT CurCodigo, CurNombre, CurHora, CurValor FROM curso ORDER BY CurValor; CALL cursovalorascendente;
Mostrar los pedidos con los respectivos artículos (código, nombre, valor y cantidad pedida).
CREATE PROCEDURE pedidosarticulos() pedidosarticulos() SELECT axppedidoidentidad, arttitulo, axpValorventaarticulo, AxpCantidadarticulo articuloxpedido join pedido join cliente FROM articulo join articuloxpedido pedidentidadcliente = cliidentidad cliidentidad and axppedidoidentidad axppedidoidentidad = pedidentidad pedidentidad and artidentidad artidentidad = ON pedidentidadcliente axparticuloidentidad;}
CALL pedidosarticulos;
Visualizar los datos de las empresas fundadas entre el año 1991 y 1998.
CREATE PROCEDURE empresasfundadas() SELECT ComNit, ComNombre, ComAñofundacion, ComReprelegal FROM compañia WHERE (ComAñofundacion) between 1990 and 2000; CALL empresasfundadas;
Visualizar todos los clientes organizados por apellido.
CREATE PROCEDURE clientesorganizados() SELECT CliIdentidad, CliIdentidad , CliNombre, CliApellido, CliDireccion, CliDepartamento, CliMescumpleaños FROM cliente ORDER BY (CliApellido) asc; CALL clientesorganizados;
Visualizar los datos de los incidentes que han tenido un (1) herido, este reporte debe visualizar la placa del automotor, con los respectivos datos de la póliza como son fecha de inicio, valor, estado y valor asegurado.
CREATE PROCEDURE incidentesheridos incidentesheridos (heridos int) SELECT IncCodigo, VehPlaca, IncFecha, IncLugar, IncNumeroheridos, AseCodigo, AseFechainicio, AseEstado, AseValorasegurado, AseCosto
FROM vehiculos join automotorestipos join incidentes join aseguramientos ON VehTipo = AutTipo and IncPlaca = VehPlaca and AsePlaca = VehPlaca
WHERE IncNumeroheridos = heridos; CALL incidentesheridos(1);
Visualizar los incidentes del vehículo con placas " FLL420", este reporte debe visualizar la fecha, el lugar, la cantidad de heridos del incidente, la fecha de inicio la de expiración de la póliza y el valor asegurado.
CREATE PROCEDURE placainicidente () SELECT IncFecha, IncPlaca, IncLugar, IncNumeroheridos, AseFechainicio, AseFechaexpiracion, AseValorAsegurado FROM vehiculos join automotorestipos automotorestip os join incidentes join aseguramientos ON VehTipo = AutTipo and IncPlaca = VehPlaca and AsePlaca = VehPlaca WHERE IncPlaca = 'FLL420';
CALL placainicidente;
4. Realice las Siguientes funciones en MySQL:
Cuente el número de estudiantes cuya edad sea mayor a 22.
select count(estedad) from estudiante where estedad < 22;
Muestre el nombre y la edad del estudiante más joven.
select * from estudiante order by (estedad) asc limit 1;
Calcule el valor promedio de los cursos cuyas horas sean mayores a 40.
SELECT AVG (CurValor) FROM curso WHERE CurHora >40;
Muestre el nombre del profesor con menor sueldo
select pronombre, prosalario from profesor order by (prosalario) asc limit 1;
Obtener el sueldo promedio de los profesores de la categoría 1.
select pronombre, avg(prosalario) from profesor where procatedra =1;
5. Realice las Siguientes funciones en ORACLE: • Visualizar el nombre del cliente, la fecha y el valor del pedido más costoso. create or replace FUNCTION pedidomascostos RETURN NUMBER IS va lor NUMBER; BEGIN SELECT MAX(PedValor) INTO valor FROM Pedido; RETURN valor; END;
• Mostrar cuantos artículos se tienen de cada editorial. create or replace FUNCTION contareditoriales RETURN NUMBER IS valor NUMBER; BEGIN SELECT COUNT(arteditorial) INTO valor FROM articulo; RETURN valor; END;
• Visualizar todos los datos de la póliza más 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 mínimo número de autos involucrados, de d e este incidente visualizar el estado de la póliza y el valor asegurado. create or replace FUNCTION menos_autos RETURN NUMBER IS v alor NUMBER; BEGIN SELECT incicodigo INTO valor FROM incidentes WHERE incicanautosinvolucrados=(select min(incicanautosinvolucrados) from incidentes); RETURN valor; END;
• Visualizar los datos de la póliza cuyo cu yo valor asegurado es el más costoso, este reporte además de visualizar todos los datos de la póliza, debe presentar todos los datos del vehículo que tiene dicha póliza.
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;
6. Construya los siguiente disparadores para controlar la actualización y borrado de registros.
TABLA PROFESOR
CREACION DE TABLA INSERTAR CREATE TABLE profesorinsertado( profesorinsertado( ProDocumento ProDocumento varchar(11), ProNombre varchar(30), ProApellido varchar(30), ProCatedra int(11), ProSalario int(11), ProModificado ProModificado datetime(6), datetime(6), ProUsuario varchar(15), primary key key (ProDocumento)); (ProDocumento));
Creacion de Trigger INSERTAR de Tipo After(Después)
CREATE TRIGGER docenteAI docenteAI AFTER INSERT ON profesor FOR EACH ROW INSERT INTO profesorinsertado ( ProDocumento, ProNombre, ProApellido, ProCatedra, ProSalario, ProModificado, ProUsuario) VALUES( NEW.ProDocumento, NEW.ProDocumento, NEW.ProNombre NEW.ProNombre,, NEW.ProApellido, NEW.ProApellido, NEW.ProCatedra, NEW.ProCatedra, NEW.ProSal NEW.ProSalario, ario, NOW(), CURRENT_USER CURRENT_USER()); ());
CREACION DE TABLA ACTUALIZACION
CREATE TABLE profesormodificado( ProDocumento varchar(11), ProNombre varchar(30), ProApellido varchar(30), ProCatedra int(11), ProSalario int(11), ProModificado datetime(6), ProUsuario varchar(15), primary key (ProDocumento));
Creacion de Trigger ACTUALIZAR de Tipo before(Antes) docenteBU BEFORE UPDATE CREATE TRIGGER docenteBU ON profesor FOR EACH ROW INSERT INTO profesormodificado ( ProDocumento, ProNombre, ProApellido, ProCatedra, ProSalario, ProModificado, ProUsuario)
VALUES( OLD.ProDocumento, OLD.ProNombre, OLD.ProApellido, OLD.ProCatedra, OLD.ProSalario, NOW(), CURRENT_USER());
CREACION DE TABLA ELIMINACION CREATE TABLE profesoreliminado( ProDocumento varchar(11), ProNombre varchar(30), ProApellido varchar(30), ProCatedra int(11), ProSalario int(11), ProModificado datetime(6), ProUsuario varchar(15), primary key (ProDocumento));
Creacion de Trigger ELIMINAR de Tipo After(Después) docenteBD BEFORE DELETE CREATE TRIGGER docenteBD ON profesor FOR EACH ROW INSERT INTO profesoreliminado ( ProDocumento, ProNombre, ProApellido, ProCatedra, ProSalario, ProModificado, ProUsuario)
VALUES( OLD.ProDocumento, OLD.ProNombre, OLD.ProApellido, OLD.ProCatedra, OLD.ProSalario, NOW(), CURRENT_USER());
Resultados obtenidos En la inserción inserción,, actualizacion y eliminacion
TABLA CURSO
CREACION DE TABLA INSERTAR CREATE TABLE cursoinsertado( cursoinsertado( CurCodigo int(11), CurNombre varchar(100), CurHora int(11), CurValor int(11), CurModificado datetime(6), datetime(6), CurUsuario varchar(15), primary key key (CurCodigo)); (CurCodigo));
Creacion de Trigger INSERTAR de Tipo After(Después)
CREATE TRIGGER cursoAI cursoAI AFTER INSERT ON curso FOR EACH ROW INSERT INTO cursoinsertado( CurCodigo, CurNombre, CurHora, CurValor, CurModificado, CurUsuario) VALUES( NEW.CurCodigo, NEW.CurCodigo, NEW.CurNombre, NEW.CurNombre, NEW.CurHora, NEW.CurHora, NEW.CurValor, NEW.CurValor, NOW(), CURRENT_USER CURRENT_USER()); ());
CREACION DE TABLA ACTUALIZACION ACTUALIZACION CREATE TABLE cursomodificado( cursomodificado( CurCodigo int(11), CurNombre varchar(100), CurHora int(11), CurValor int(11), CurModificado datetime(6), datetime(6), CurUsuario varchar(15), primary key key (CurCodigo)); (CurCodigo));
Creacion de Trigger ACTUALIZAR de Tipo before(Antes) before(Antes)
CREATE TRIGGER cursoactualizadoBU cursoactualizadoBU BEFORE UPDATE ON curso FOR EACH ROW INSERT INTO cursoModificado( CurCodigo, CurNombre, CurHora, CurValor, CurModificado, CurUsuario) VALUES( OLD.CurCodigo, OLD.CurNombre, OLD.CurHora, OLD.CurValor, NOW(), CURRENT_USER CURRENT_USER()); ());
CREACION DE TABLA ELIMINACION CREATE TABLE cursoeliminado ( CurCodigo int(11), CurNombre varchar(100), CurHora int(11), CurValor int(11), CurModificado datetime(6), datetime(6), CurUsuario varchar(15), primary key key (CurCodigo)); (CurCodigo)); Creacion de Trigger ELIMINAR de Tipo After(Después)
CREATE TRIGGER cursoeliAU cursoeliAU BEFORE DELETE ON curso FOR EACH ROW INSERT INTO cursoeliminado( CurCodigo, CurNombre, CurHora, CurValor, CurModificado, CurUsuario) VALUES( OLD.CurCodigo, OLD.CurNombre, OLD.CurHora, OLD.CurValor, NOW(), CURRENT_USER CURRENT_USER()); ());
Resultados obtenidos En la inserción inserción,, actualizacion y eliminacion
TABLA ESTUDIANTE
CREACION DE TABLA INSERTAR CREATE TABLE estudianteinsertado( estudianteinsertado( EstDocumento varchar(11), EstNombre varchar(30), EstApellido varchar(30), EstEdad int(11), CurModificado datetime(6), CurUsuario varchar(15), primary key key (EstDocumento)); (EstDocumento));
Creacion de Trigger INSERTAR de Tipo After(Después) After(Después) alumnoAI AFTER INSERT CREATE TRIGGER alumnoAI ON estudiante FOR EACH ROW INSERT INTO estudianteinsertado ( EstDocumento, EstNombre, EstApellido, EstEdad, CurModificado, CurUsuario) VALUES( NEW.EstDocumento, NEW.EstDocumento, NEW.EstNombre, NEW.EstNombre, NEW.EstApellido, NEW.EstApellido, NEW.EstEdad, NEW.EstEdad, NOW(), CURRENT_USER CURRENT_USER()); ());
CREACION DE TABLA ACTUALIZACION CREATE TABLE estudiantemodificado(
EstDocumento EstDocumento varchar(11), EstNombre varchar(30), EstApellido varchar(30), EstEdad int(11), CurModificado datetime(6), CurUsuario varchar(15), primary key key (EstDocumento)); (EstDocumento)); Creacion de Trigger ACTUALIZAR de Tipo before(Antes) before(Antes) alumnoBU BEFORE UPDATE CREATE TRIGGER alumnoBU ON estudiante FOR EACH ROW INSERT INTO estudiantemodificado ( EstDocumento, EstNombre, EstApellido, EstEdad, CurModificado, CurUsuario) VALUES( OLD.EstDocumento, OLD.EstNombre, OLD.EstApellido, OLD.EstEdad, NOW(), CURRENT_USER CURRENT_USER()); ());
CREACION DE TABLA ELIMINACION CREATE TABLE estudianteeliminado( EstDocumento varchar(11), EstNombre varchar(30), EstApellido varchar(30), EstEdad int(11), CurModificado datetime(6), CurUsuario varchar(15), primary key key (EstDocumento)); (EstDocumento));
Creacion de Trigger ELIMINAR de Tipo After(Después)
CREATE TRIGGER alumnoBD alumnoBD BEFORE DELETE ON estudiante FOR EACH ROW INSERT INTO estudianteeliminado ( EstDocumento, EstNombre, EstApellido, EstEdad, CurModificado, CurUsuario) VALUES( OLD.EstDocumento, OLD.EstNombre, OLD.EstApellido, OLD.EstEdad, NOW(), CURRENT_USER CURRENT_USER()); ());
Resultados obtenidos En la inserción inserción,, actualizacion y eliminacion
EN ORACLE
Tabla Cliente. CREACION DE TABLA
Creación de Trigger INSERTAR de Tipo After(Después)
Creacion de Trigger ACTUALIZAR de Tipo before(Antes)
Creacion de Trigger ELIMINAR de Tipo After(Después)
Resultados obtenidos En la inserción inserción,, actualizacion y eliminacion
TABLA ARTÍCULO. CREACION DE TABLA
Creación de Trigger INSERTAR de Tipo After(Después)
Creacion de Trigger ACTUALIZAR de Tipo before(Antes)
Creacion de Trigger ELIMINAR de Tipo After(Después)
Resultados obtenidos En la inserción inserción,, actualizacion y eliminacion
TABLA PEDIDO. CREACION DE TABLA
Creación de Trigger INSERTAR de Tipo After(Después)
Creacion de Trigger ACTUALIZAR de Tipo before(Antes)
Creacion de Trigger ELIMINAR de Tipo After(Después)
Resultados obtenidos En la inserción inserción,, actualizacion y eliminacion
EN MySQL
TABLA AUTOMOTORES
CREACION DE TABLA INSERTAR CREATE TABLE vehiculoinsertado( vehiculoinsertado( VehPlaca varchar(6), VehMarca varchar(30), VehTipo int(11), VehModelo int(11), VehNumpasajeros int(11), VehCilindraje int(11), VehNumchasis VehNumchasis varchar(20), VehModificado VehModificado datetime(6), VehUsuario varchar(15), primary key key (VehPlaca)); (VehPlaca));
Creacion de Trigger INSERTAR de Tipo After(Después) After(Después)
CREATE TRIGGER vehiculoAI vehiculoAI AFTER INSERT ON vehiculos FOR EACH ROW INSERT INTO vehiculoinsertado ( VehPlaca, VehMarca, VehTipo, VehModelo, VehNumpasajeros, VehCilindraje, VehNumchasis, VehModificado, VehUsuario) VALUES( NEW.VehPlaca, NEW.VehPlaca, NEW.VehMa NEW.VehMarca, rca, NEW.VehTipo, NEW.VehTipo, NEW.VehMod NEW.VehModelo, elo, NEW.VehNumpa NEW.VehNumpasajeros, sajeros, NEW.VehCilindraje, NEW.VehCilindraje, NEW.VehNumchasis, NEW.VehNumchasis, NOW(), NOW(), CURRENT_USER()); CURRENT_USER());
CREACION DE TABLA ACTUALIZACION CREATE TABLE vehiculoactualizado( VehPlaca varchar(6), VehMarca varchar(30), VehTipo int(11), VehModelo int(11), VehNumpasajeros int(11), VehCilindraje int(11), VehNumchasis varchar(20), varchar(20) , VehModificado datetime(6), VehUsuario varchar(15), primary key key (VehPlaca)); (VehPlaca));
Creacion de Trigger ACTUALIZAR de Tipo before(Antes) before(Antes)
CREATE TRIGGER vehiculoBU vehiculoBU BEFORE UPDATE ON vehiculos FOR EACH ROW INSERT INTO vehiculoactualizado ( VehPlaca, VehMarca, VehTipo, VehModelo, VehNumpasajeros, VehCilindraje, VehNumchasis, VehModificado, VehUsuario) VALUES( OLD.VehPlaca, OLD.VehMarca, OLD.VehTipo, OLD.VehModelo, OLD.VehNumpasajeros, OLD.VehCilindraje, OLD.VehNumchasis, NOW(), CURRENT_USER());
CREACION DE TABLA ELIMINACION CREATE TABLE vehiculoeliminado( VehPlaca varchar(6), VehMarca varchar(30), VehTipo int(11), VehModelo int(11), VehNumpasajeros int(11), VehCilindraje int(11), VehNumchasis VehNumchasis varchar(20), VehModificado VehModificado datetime(6), VehUsuario varchar(15), primary key key (VehPlaca)); (VehPlaca));
Creacion de Trigger ELIMINAR de Tipo After(Después)
CREATE TRIGGER vehiculoBD vehiculoBD BEFORE DELETE ON vehiculos FOR EACH ROW INSERT INTO vehiculoeliminado ( VehPlaca, VehMarca, VehTipo, VehModelo, VehNumpasajeros, VehCilindraje, VehNumchasis, VehModificado, VehUsuario) VALUES( OLD.VehPlaca, OLD.VehMarca, OLD.VehTipo, OLD.VehModelo, OLD.VehNumpasajeros, OLD.VehCilindraje, OLD.VehNumchasis, NOW(), CURRENT_USER());
Resultados obtenidos En la inserción inserción,, actualizacion y eliminacion
TABLA ASEGURAMIENTOS
CREACION DE TABLA INSERTAR seguroinsertado( CREATE TABLE seguroinsertado( AseCodigo int(11), AseFechainicio date, AseFechaexpiracion date, AseValorasegurado int(11), AseEstado varchar(100), AseCosto int(11), AsePlaca varchar(6), ASeModificado datetime(6), AseUsuario varchar(15), primary key (AseCodigo)); Creacion de Trigger INSERTAR de Tipo After(Después) After(Después)
CREATE TRIGGER seguroAI seguroAI AFTER INSERT ON aseguramientos
FOR EACH ROW INSERT INTO vehiculoinsertado ( AseCodigo, AseFechainicio, AseFechaexpiracion, AseValorasegurado, AseEstado, AseCosto, AsePlaca, AseModificado, AseUsuario) VALUES( NEW.AseCodigo, NEW.AseCodigo, NEW.AseFech NEW.AseFechainicio, ainicio, NEW.AseFechaexp NEW.AseFechaexpiracion, iracion, NEW.AseV NEW.AseValorasegura alorasegurado, do, NEW.AseEstado, NEW.AseEstado, NEW.AseCosto, NEW.AseCosto, NEW.AsePlaca, NEW.AsePlaca, NOW(), NOW(), CURRENT_USER( CURRENT_USER()); ));
CREACION DE TABLA ACTUALIZACION CREATE TABLE seguroactualizado( AseCodigo int(11), AseFechainicio date, AseFechaexpiracion date, AseValorasegurado int(11), AseEstado varchar(100), AseCosto int(11), AsePlaca varchar(6), ASeModificado datetime(6), AseUsuario varchar(15), primary key (AseCodigo)); Creacion de Trigger ACTUALIZAR de Tipo before(Antes) before(Antes)
CREATE TRIGGER seguroBU seguroBU BEFORE UPDATE ON aseguramientos FOR EACH ROW INSERT INTO seguroactualizado ( AseCodigo, AseFechainicio, AseFechaexpiracion, AseValorasegurado, AseEstado, AseCosto, AsePlaca, AseModificado, AseUsuario) VALUES( OLD.AseCodigo, OLD.AseFechainicio, OLD.AseFechaexpiracion, OLD.AseValorasegurado, OLD.AseEstado, OLD.AseCosto, OLD.AsePlaca, NOW(), CURRENT_USER());
CREACION DE TABLA ELIMINACION CREATE TABLE seguroeliminado ( AseCodigo int(11), AseFechainicio date, AseFechaexpiracion date, AseValorasegurado int(11), AseEstado varchar(100), AseCosto int(11), AsePlaca varchar(6), ASeModificado datetime(6), AseUsuario varchar(15), AseAccion varchar(45), primary key key (AseCodigo)); (AseCodigo)); Creacion de Trigger ELIMINAR de Tipo After(Después)
CREATE TRIGGER seguroBD seguroBD BEFORE DELETE ON aseguramientos FOR EACH ROW INSERT INTO seguroeliminado (
AseCodigo, AseFechainicio, AseFechaexpiracion, AseFechaexpiracion, AseValorasegurado, AseValorasegurado, AseEstado, AseCosto, AsePlaca, AseModificado, AseUsuario, AseAccion) VALUES( OLD.AseCodigo, OLD.AseFechainicio, OLD.AseFechaexpiracion, OLD.AseValorasegurado, OLD.AseEstado, OLD.AseCosto, OLD.AsePlaca, NOW(), CURRENT_USER(), 'Registro Eliminado');
Resultados obtenidos En la inserción inserción,, actualizacion y eliminacion
TABLA INCIDENTES
CREACION DE TABLA Iauditado CREATE TABLE Iauditado ( IncCodigo int(11), IncFecha date, IncPlaca varchar(6), IncLugar varchar(40), IncNumeroheridos int(11), IncNumeromuertos int(11), IncAutosinvolucrados IncAutosinvolucrados int(11), IncModificado IncModificad o date, IncUsuario varchar(15), IncAccion varchar(45), varchar(45) , primary key key (IncCodigo), (IncCodigo), foreign key (IncPlaca) references vehiculos (VehPlaca));
Creacion de Trigger INSERTAR de Tipo After(Después) CREATE TRIGGER IAI IAI AFTER INSERT ON incidentes FOR EACH ROW INSERT INTO Iauditado( IncCodigo, IncFecha, IncPlaca, IncLugar, IncNumeroheridos, IncNumeromuertos, IncAutosinvolucrados, IncModificado, IncUsuario, IncAccion)
VALUES(NEW.IncCodigo, (NEW.IncCodigo , NEW.IncFecha, NEW.IncPlaca, NEW.IncLugar, NEW.IncNumeroheridos, NEW.IncNumeroheridos, NEW.IncNumeromuertos NEW.IncNumeromuertos,, NEW.IncAutosinvoluc NEW.IncAutosinvolucrados, rados, NOW(), NOW(), CURRENT_USER(), CURRENT_USER(), 'Registro Insertado');
Creacion de Trigger ACTUALIZAR de Tipo before(Antes) CREATE TRIGGER IBU IBU BEFORE UPDATE ON incidentes FOR EACH ROW INSERT INTO Iauditado( IncCodigo, IncFecha, IncPlaca, IncLugar, IncNumeroheridos, IncNumeromuertos, IncAutosinvolucrados, IncModificado, IncUsuario, IncAccion) VALUES(OLD.IncCodigo, (OLD.IncCod igo, OLD.IncFecha, OLD.IncPlaca, OLD.IncLugar, OLD.IncNumeroheridos, OLD.IncNumero heridos, OLD.IncNumeromuertos, OLD.IncAutosinvolucrados, NOW(), CURRENT_USER(), 'Registro Modificado');
Creacion de Trigger ELIMINAR de Tipo After(Después) CREATE TRIGGER IBD IBD BEFORE DELETE ON incidentes FOR EACH ROW INSERT INTO Iauditado( IncCodigo, IncFecha, IncPlaca, IncLugar, IncNumeroheridos, IncNumeromuertos, IncAutosinvolucrados, IncModificado, IncUsuario, IncAccion) (OLD.IncCod igo, OLD.IncFecha, OLD.IncPlaca, OLD.IncLugar, OLD.IncNumeroheridos, OLD.IncNumero heridos, VALUES(OLD.IncCodigo, OLD.IncNumeromuertos, OLD.IncAutosinvolucrados, NOW(), CURRENT_USER(), 'Registro Eliminado');
Resultados obtenidos En la inserción inserción,, actualizacion y eliminacion
View more...
Comments