You are on page 1of 16

SOLUCION LABORATORIO LENGUAJE TRANSACCIONAL

YANETH ROMERO RAMIREZ

SERVICIO NACIONAL DE APRENDIZAJE (SENA)


(ADSI) ANLISIS Y DE SARROLLO DE SISTEMAS DE INFORMACIN
BOGOT
2017

SOLUCION LABORATORIO

Construya los siguiente procedimientos Almacenados para insercin de registros:para


las tablas Profesor, Curso, Estudiante,
Estudiantexcurso.

CREATE PROCEDURE InsertProfesor(pdocProf VARCHAR(11), pNomProf VARCHAR(30),


pApeProf VARCHAR(30), pCateProf INT(11), pSalProf INT(11))
INSERT INTO profesor(doc_prof, nom_prof, ape_prof, cate_prof, sal_prof)
VALUES(pdocProf, pNomProf, pApeProf , pCateProf, pSalProf);

CREATE PROCEDURE InsertCurso(pcod_curs INT(11), pnom_curs VARCHAR(100), phoras_cur


INT(11), pvalor_cur INT(11))
INSERT INTO curso(cod_curs, nom_curs, horas_cur, valor_cur)
VALUES(pcod_curs, pnom_curs, phoras_cur, pvalor_cur);

CREATE PROCEDURE InsertEstudiante(pdoc_est INT(11), pnom_est VARCHAR(30), pap_est


VARCHAR(30), pedad_est INT(11))
INSERT INTO estudiante(doc_est, nom_est, ap_est, edad_est)
VALUES(pdoc_est , pnom_est , pap_est, pedad_est);

CREATE PROCEDURE InsertEstudiantexCurso(pcod_cur_estcur INT(11), pdoc_est_estcur


INT(30), pfec_ini_estcur DATE)
INSERT INTO estudiantexcurso(cod_cur_estcur, doc_est_estcur, fec_ini_estcur)

VALUES(pcod_cur_estcur, pdoc_est_estcur, pfec_ini_estcur


3.En MySQL construya los procedimientos almacenados para realizar los siguientes
procesos:

Muestre todos los campos de la tabla curso en orden ascendente segn el valor.

CREATE PROCEDURE CursoOrdenado()


SELECT *
FROM curso
ORDER BY valor_cur;

Mostrar los pedidos con los respectivos artculos(cdigo, nombre,valor y cantidad


pedida).

CREATE PROCEDURE GetPedidosConArticulos()


SELECT p.id_ped, p.tit_art, val_ven_art_artped Valor Artculo, can_art_artped
FROM pedido p
INNER JOIN articuloxpedido ap
ON p.id_ped = ap.id_ped_artped
INNER JOIN articulo a
ON a.id_art = ap.id_art_artped

Visualizar los datos de las empresas fundadas entre el ao 1991 y 1998.

CREATE PROCEDURE GetEmpresasEntre9198()


SELECT *
FROM compaia
WHERE comaofun BETWEEN 1991 AND 1998;

Visualizar todos los clientes organizados por apellido.

CREATE PROCEDURE GetClientesOrganizados()


SELECT *
FROM cliente
ORDER BY ape_cli;

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 pliza como son fecha de inicio, valor, estado y valor asegurado.

CREATE PROCEDURE GetIncidentesConUnHerido()


SELECT inciplaca, aseg.asefechainicio, aseg.asecosto, aseg.aseestado,
aseg.asevalorasegurado
FROM incidentes i
INNER JOIN automotores a
ON a.autoplaca = i.inciplaca
INNER JOIN aseguramientos aseg
ON aseg.aseplaca = a.autoplaca
WHERE incicantheridos = 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 GetIncidentesVehiculo()


SELECT i.incifecha, i.incilugar, i.incicantheridos, aseg.asefechainicio,
aseg.asefechaexpiracion, aseg.asevalorasegurado
FROM incidentes i
INNER JOIN automotores a
ON a.autoplaca = i.inciplaca
INNER JOIN aseguramientos aseg
ON aseg.aseplaca = a.autoplaca
WHERE a.autoplaca = 'FLL420' ;

4. Realice las Siguientes funciones en MySQL:

Cuente el nmero de estudiantes cuya edad sea mayor a 22.

DELIMITER //
CREATE FUNCTION NumeroEstudiantes()
RETURNS INT
BEGIN
DECLARE numero INT;
--
SELECT COUNT(1) INTO numero
FROM estudiante
WHERE edad_est > 22;
--
RETURN numero;
END
//

Muestre el nombre y la edad del estudiante ms joven.

DELIMITER //
CREATE FUNCTION NombreEdadEstudianteMasJoven()
RETURNS VARCHAR(30)
BEGIN
DECLARE pnombre VARCHAR(30);
DECLARE pedad VARCHAR(30);

--
SELECT nom_est, edad_est
INTO pnombre, pedad
FROM estudiante
WHERE edad_est = (SELECT MIN(edad_est)
FROM estudiante);
--
RETURN CONCAT(pnombre, " ", pedad);

END//

Calcule el valor promedio de los cursos cuyas horas sean mayores a 40.
DELIMITER //
CREATE FUNCTION ValorPromedioCursos()
RETURNS INT
BEGIN
DECLARE pPromedio DECIMAL(11, 4);
--
SELECT AVG(valor_cur) INTO pPromedio
FROM curso
WHERE horas_cur > 40;
--
RETURN pPromedio ;
END//

Obtener el sueldo promedio de los profesores de la categora 1.

DELIMITER //
CREATE FUNCTION SueldoPromedioProfesores()
RETURNS INT
BEGIN
DECLARE pPromedio DECIMAL(11, 4);
--
SELECT AVG(sal_prof) INTO pPromedio
FROM profesor
WHERE cate_prof = 1;
--
RETURN pPromedio ;
END//
--

Muestre el nombre del profesor con menor sueldo.

DELIMITER //
CREATE FUNCTION NombreProfesorMenorSueldo()
RETURNS VARCHAR(60)
BEGIN
DECLARE pNombre VARCHAR(60);
--
SELECT CONCAT(nom_prof, ape_prof) INTO pNombre
FROM profesor
WHERE sal_prof = (SELECT MIN(sal_prof)
FROM profesor);
--
RETURN pNombre ;
END//

6. Construya los siguiente disparadores para controlar la actualizacin y borrado


de registros

-- profesor
-- Creamos tabla de PROFESOR
CREATE TABLE auditoria_profesor(id_audi INT(11) AUTO_INCREMENT PRIMARY KEY,
audi_nom_prof_anterior
VARCHAR(30) NOT NULL ,
audi_ape_prof_anterior
VARCHAR(30) NOT NULL ,
audi_cate_prof_anterior INT
NOT NULL ,
audi_sal_prof_anterior INT
NOT NULL ,
audi_nom_prof_nuevo
VARCHAR(30) ,
audi_ape_prof_nuevo
VARCHAR(30) ,
audi_cate_prof_nuevo INT
,
audi_sal_prof_nuevo INT
,
audi_fechamodificacion DATETIME
,
audi_usuario
VARCHAR(50) ,
audi_doc_prof
VARCHAR(11) NOT NULL ,
audi_acccion
VARCHAR(45) NOT NULL
);

-- CREAMOS EL TRIGGER PARA LA ACTUALIZACIN


delimiter //
CREATE TRIGGER trg_profesor_update
BEFORE UPDATE ON profesor
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_profesor( audi_nom_prof_anterior ,
audi_ape_prof_anterior ,
audi_cate_prof_anterior ,
audi_sal_prof_anterior ,
audi_nom_prof_nuevo ,
audi_ape_prof_nuevo ,
audi_cate_prof_nuevo ,
audi_sal_prof_nuevo ,
audi_fechamodificacion ,
audi_usuario
,
audi_doc_prof
,
audi_acccion

)
VALUES(old.nom_prof , old.ape_prof , old.cate_prof, old.sal_prof ,
new.nom_prof , new.ape_prof , new.cate_prof ,
new.sal_prof,
now(), current_user(), new.doc_prof, 'Actualizacin');

END;//
-- PROBAMOS ACTUALIZANDO UN REGISTRO
UPDATE PROFESOR
SET nom_prof = 'Martha XXX',
ape_prof = 'Rojas XXX',
cate_prof = 4 ,
sal_prof = 1000000
WHERE doc_prof = '63502720';
-- CREAMOS EL TRIGGER PARA el delete
delimiter //
CREATE TRIGGER trg_profesor_delete
AFTER DELETE ON profesor
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_profesor( audi_nom_prof_anterior ,
audi_ape_prof_anterior ,
audi_cate_prof_anterior ,
audi_sal_prof_anterior ,
audi_fechamodificacion ,
audi_usuario
,
audi_doc_prof
,
audi_acccion

)
VALUES(old.nom_prof , old.ape_prof , old.cate_prof, old.sal_prof ,
now(), current_user(), old.doc_prof, 'Registro
Eliminado');

END;//

--PROBAMOS ELIMINANDO UN REGISTRO


DELETE FROM PROFESOR
WHERE doc_prof = '91216904';

--CURSO

-- Creamos tabla de CURSO

CREATE TABLE auditoria_curso(id_audi INT(11) AUTO_INCREMENT PRIMARY KEY,


audi_nom_curs_anterior VARCHAR(100)
NOT NULL ,
audi_horas_cur_anterior INT NOT NULL
,
audi_valor_cur_anterior INT
NOT NULL ,
audi_nom_curs_nuevo VARCHAR(100)
,
audi_horas_cur_nuevo INT
,
audi_valor_cur_nuevo INT
,
audi_fechamodificacion DATETIME
,
audi_usuario
VARCHAR(50) ,
audi_cod_curs
VARCHAR(11) NOT NULL ,
audi_acccion
VARCHAR(45) NOT NULL
);

-- CREAMOR EL TRIGGER PARA LA ACTUALIZACIN


delimiter //
CREATE TRIGGER trg_curso_update
BEFORE UPDATE ON curso
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_curso(
audi_nom_curs_anterior ,
audi_horas_cur_anterior ,
audi_valor_cur_anterior ,
audi_nom_curs_nuevo ,
audi_horas_cur_nuevo ,
audi_valor_cur_nuevo ,
audi_fechamodificacion ,
audi_usuario ,
audi_cod_curs ,
audi_acccion
)
VALUES(old.nom_curs , old.horas_cur , old.valor_cur,
new.nom_curs , new.horas_cur , new.valor_cur,
now(), current_user(), new.cod_curs, 'Actualizacin');
END;//

-- PROBAMOS ACTUALIZANDO UN REGISTRO


UPDATE curso
SET nom_curs = 'Fundamentos de SQL XXX',
horas_cur = 40,
valor_cur = 1400000
WHERE cod_curs = '250067';
-- CREAMOR EL TRIGGER PARA el delete
delimiter //
CREATE TRIGGER trg_curso_delete
AFTER DELETE ON curso
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_curso(
audi_nom_curs_anterior ,
audi_horas_cur_anterior ,
audi_valor_cur_anterior ,
audi_fechamodificacion ,
audi_usuario ,
audi_cod_curs ,
audi_acccion
)
VALUES(old.nom_curs , old.horas_cur , old.valor_cur,
now(), current_user(), old.cod_curs, 'Registro
Eliminado');
END;//
--PROBAMOS ELIMINANDO UN REGISTRO
delete from estudiantexcurso where cod_cur_estcur = 289011;
--
DELETE FROM curso
WHERE cod_curs = '289011';

-- ESTUDIANTE

-- Creamos tabla de ESTUDIANTE

CREATE TABLE auditoria_estudiante(id_audi INT(11) AUTO_INCREMENT PRIMARY KEY,


audi_nom_est_anterior VARCHAR(30) NOT
NULL ,
audi_ape_est_anterior VARCHAR(30) NOT
NULL ,
audi_edad_est_anterior INT (11)
NOT NULL ,
audi_nom_est_nuevo VARCHAR(30)
,
audi_ape_est_nuevo VARCHAR(30)
,
audi_edad_est_nuevo INT
,
audi_fechamodificacion DATETIME
,
audi_usuario
VARCHAR(50) ,
audi_doc_est
VARCHAR(11) NOT NULL ,
audi_accion
VARCHAR(45) NOT NULL
);

-- CREAMOS EL TRIGGER PARA LA ACTUALIZACIN


delimiter //
CREATE TRIGGER trg_estudiante_update
BEFORE UPDATE ON estudiante
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_estudiante( audi_nom_est_anterior ,
audi_ape_est_anterior ,
audi_edad_est_anterior ,
audi_nom_est_nuevo ,
audi_ape_est_nuevo ,
audi_edad_est_nuevo ,
audi_fechamodificacion ,
audi_usuario
,
audi_doc_est
,
audi_accion

)
VALUES(old.nom_est , old.ape_est , old.edad_est,
new.nom_est , new.ape_est , new.edad_est ,
now(), current_user(), new.doc_est, 'Actualizacin');
END;//

-- PROBAMOS ACTUALIZANDO UN REGISTRO


UPDATE ESTUDIANTE
SET nom_est = 'Jonatan XXX',
ape_est = 'Ardila XXX',
edad_est = 17
WHERE doc_est = '1098098097';
-- CREAMOS EL TRIGGER PARA el delete
delimiter //
CREATE TRIGGER trg_estudiante_delete
AFTER DELETE ON estudiante
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_estudiante( audi_nom_est_anterior ,
audi_ape_est_anterior ,
audi_edad_est_anterior ,
audi_fechamodificacion ,
audi_usuario
,
audi_doc_est
,
audi_accion

)
VALUES(old.nom_est , old.ape_est , old.edad_est,
now(), current_user(), old.doc_est, 'Registro Eliminado');

END;//

--PROBAMOS ELIMINANDO UN REGISTRO


DELETE FROM estudiantexcurso where doc_est_estcur = 91245678;
DELETE FROM estudiante
WHERE doc_est = '91245678';

mysql>create table Estudiante(doc_est varcharalterEstudiante(11) not null,nom_est


varchar(30)
not null,ape_est varchar(30) not null,edad_est int not null,primary key(doc_est)

);

-- automotores

--Creamos tabla de AUTOMOTORES

CREATE TABLE auditoria_automotores(id_audi INT(11) AUTO_INCREMENT PRIMARY KEY,


audi_Automarca_anterior VARCHAR(30)
NOT NULL ,
audi_Autotipo_anterior INT
NOT NULL ,
audi_Automodelo_anterior INT (11)
NOT NULL ,
audi_Autonumpasajeros_anterior INT
,
audi_Autocilindraje_anterior INT
,
audi_Autonumchasis_anterior
VARCHAR(30) ,
audi_Automarca_nuevo VARCHAR(30)
,
audi_Autotipo_nuevo INT
,
audi_Automodelo_nuevo INT
(11) ,
audi_Autonumpasajeros_nuevo INT
,
audi_Autocilindraje_nuevo INT
,
audi_Autonumchasis_nuevo VARCHAR(30)
,
x DATETIME ,
audi_usuario
VARCHAR(50) ,
audi_autoplaca
VARCHAR(6) NOT NULL ,
audi_accion
VARCHAR(45) NOT NULL
);

-- CREAMOS EL TRIGGER PARA LA ACTUALIZACIN


delimiter //
CREATE TRIGGER trg_automotores_update
BEFORE UPDATE ON automotores
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_automotores( audi_Automarca_anterior ,
audi_Autotipo_anterior ,
audi_Automodelo_anterior,

audi_Autonumpasajeros_anterior,

audi_Autocilindraje_anterior ,
audi_Autonumchasis_anterior,
audi_Automarca_nuevo ,
audi_Autotipo_nuevo ,
audi_Automodelo_nuevo ,
audi_Autonumpasajeros_nuevo ,
audi_Autocilindraje_nuevo ,
audi_Autonumchasis_nuevo ,
audi_fechamodificacion ,
audi_usuario
,
audi_autoplaca
,
audi_accion

)
VALUES(old.Automarca, old.Autotipo , old.Automodelo ,
old.Autonumpasajeros, old.Autocilindraje , old.Autonumchasis ,
new.Automarca, new.Autotipo , new.Automodelo ,
new.Autonumpasajeros , new.Autocilindraje, new.Autonumchasis ,
now(), current_user(), new.autoplaca, 'Actualizacin');

END;//

-- PROBAMOS ACTUALIZANDO UN REGISTRO


UPDATE Automotores
SET Automarca = 'chevrolet corsa ACTIVE',
Autotipo = 1,
Automodelo = 2003 ,
Autonumpasajeros = 8 ,
Autocilindraje = 1800 ,
Autonumchasis = 'wywzzz167kk009d45'
WHERE autoplaca = 'FLL420';
-- CREAMOR EL TRIGGER PARA el delete
delimiter //
CREATE TRIGGER trg_automotores_delete
AFTER DELETE ON automotores
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_automotores( audi_Automarca_anterior ,
audi_Autotipo_anterior ,
audi_Automodelo_anterior,

audi_Autonumpasajeros_anterior,

audi_Autocilindraje_anterior ,
audi_Autonumchasis_anterior,
audi_usuario
,
audi_autoplaca
,
audi_fechamodificacion ,
audi_accion

)
VALUES(old.Automarca,old.Autotipo , old.Automodelo ,
old.Autonumpasajeros, old.Autocilindraje , old.Autonumchasis ,
now(), current_user(), old.autoplaca, 'Registro
Eliminado');

END;//

--PROBAMOS ELIMINANDO UN REGISTRO


DELETE FROM aseguramientos where aseplaca = 'KJQ920';

DELETE FROM automotores


WHERE autoplaca = 'KJQ920';
select * from auditoria_automotores;
-- aseguramientos

-- Creamos tabla de ASEGURAMIENTOS

CREATE TABLE auditoria_Aseguramientos(id_audi INT(11) AUTO_INCREMENT PRIMARY KEY,


audi_asefechainicio_anterior
DATE NOT NULL ,
audi_asefechaexpiracion_anterior
DATE NOT NULL ,
audi_asevaloraegurado_anterior
INT NOT NULL ,
audi_aseestado_anterior
VARCHAR(30) NOT NULL ,
audi_asecosto_anterior
INT NOT NULL ,
audi_aseplaca_anterior
VARCHAR(20) NOT NULL ,
audi_asefechainicio_nuevo
DATE ,
audi_asefechaexpiracion_nuevo
DATE ,
audi_asevaloraegurado_nuevo
INT ,
audi_aseestado_nuevo
VARCHAR(30) ,
audi_asecosto_nuevo
INT ,
audi_aseplaca_nuevo
VARCHAR(20) ,
audi_fechamodificacion
DATETIME ,
audi_usuario
VARCHAR(50) ,
audi_asecodigo
INT NOT NULL ,
audi_accion
VARCHAR(45) NOT NULL
);

-- CREAMOS EL TRIGGER PARA LA ACTUALIZACIN


delimiter //
CREATE TRIGGER trg_aseguramientos_update
BEFORE UPDATE ON aseguramientos
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_aseguramientos( audi_asefechainicio_anterior ,
audi_asefechaexpiracion_anterior
,
audi_asevaloraegurado_anterior
,
audi_aseestado_anterior
,
audi_asecosto_anterior
,
audi_aseplaca_anterior
,
audi_asefechainicio_nuevo
,
audi_asefechaexpiracion_nuevo
,
audi_asevaloraegurado_nuevo
,
audi_aseestado_nuevo
,
audi_asecosto_nuevo
,
audi_aseplaca_nuevo
,
audi_fechamodificacion
,
audi_usuario
,
audi_asecodigo
,
audi_accion

)
VALUES(old.asefechainicio, old.asefechaexpiracion ,
old.asevalorasegurado , old.aseestado, old.asecosto, old.aseplaca,
new.asefechainicio, new.asefechaexpiracion ,
new.asevalorasegurado , new.aseestado , new.asecosto, new.aseplaca,
now(), current_user(), new.asecodigo ,
'Actualizacin');

END;//

-- PROBAMOS ACTUALIZANDO UN REGISTRO


UPDATE aseguramientos
SET asefechainicio = '2012-10-10',
asefechaexpiracion = '2013-10-30',
asevalorasegurado = 80000000,
aseestado = 'Vigente',
asecosto = 700000,
aseplaca ='FLL420'
WHERE asecodigo = '2';
-- CREAMOS EL TRIGGER PARA el delete
delimiter //
CREATE TRIGGER trg_aseguramientos_delete
AFTER DELETE ON aseguramientos
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_aseguramientos( audi_asefechainicio_anterior ,
audi_asefechaexpiracion_anterior
,
audi_asevaloraegurado_anterior
,
audi_aseestado_anterior
,
audi_asecosto_anterior
,
audi_aseplaca_anterior
,
audi_fechamodificacion
,
audi_usuario
,
audi_asecodigo
,
audi_accion

)
VALUES(old.asefechainicio , old.asefechaexpiracion ,
old.asevalorasegurado, old.aseestado, old.asecosto, old.aseplaca,
now(), current_user(), old.asecodigo, 'Registro
Eliminado');

END;//

--PROBAMOS ELIMINANDO UN REGISTRO

DELETE FROM aseguramientos


WHERE asecodigo = '2';
-- incidentes

--Creamos tabla de INCIDENTES

CREATE TABLE auditoria_incidentes(id_audi INT(11) AUTO_INCREMENT PRIMARY KEY,


audi_incifecha_anterior DATE NOT NULL
,
audi_inciplaca_anterior VARCHAR(6)
NOT NULL ,
audi_incilugar_anterior VARCHAR(40)
NOT NULL ,
audi_incicantheridos_anterior INT NOT
NULL ,
audi_incicanfatalidades_anterior INT
NOT NULL ,
audi_incicanautosinvolucrados_anterior
INT NOT NULL ,
audi_incifecha_nuevo DATE
,
audi_inciplaca_nuevo VARCHAR(6)
,
audi_incilugar_nuevo VARCHAR(40)
,
audi_incicantheridos_nuevo INT
,
audi_incicanfatalidades_nuevo INT
,
audi_incicanautosinvolucrados_nuevo INT
,
audi_fechamodificacion DATETIME
,
audi_usuario
VARCHAR(50) ,
audi_incicodigo INT NOT
NULL ,
audi_accion
VARCHAR(45) NOT NULL
);

-- CREAMOS EL TRIGGER PARA LA ACTUALIZACIN


delimiter //
CREATE TRIGGER trg_incidentes_update
BEFORE UPDATE ON incidentes
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_incidentes(audi_incifecha_anterior ,
audi_inciplaca_anterior ,
audi_incilugar_anterior ,
audi_incicantheridos_anterior
,
audi_incicanfatalidades_anterior ,
audi_incicanautosinvolucrados_anterior
,
audi_incifecha_nuevo
,
audi_inciplaca_nuevo
,
audi_incilugar_nuevo
,
audi_incicantheridos_nuevo
,
audi_incicanfatalidades_nuevo
,
audi_incicanautosinvolucrados_nuevo
,
audi_fechamodificacion
,
audi_usuario
,
audi_incicodigo ,
audi_accion

)
VALUES(old.incifecha , old.inciplaca , old.incilugar,
old.incicantheridos , old.incicanfatalidades,old.incicanautosinvolucrados,
new.incifecha , new.inciplaca , new.incilugar ,
new.incicantheridos, new.incicanfatalidades,new.incicanautosinvolucrados,
now(), current_user(), new.incicodigo, 'Actualizacin');

END;//

-- PROBAMOS ACTUALIZANDO UN REGISTRO


UPDATE incidentes
SET incifecha = '2012-11-11',
inciplaca = 'FLL420',
incilugar = 'San Gil',
incicantheridos = 2,
incicanfatalidades = 3,
incicanautosinvolucrados = 4
WHERE incicodigo = '1';
-- CREAMOS EL TRIGGER PARA el delete
delimiter //
CREATE TRIGGER trg_auditoria_incidentes_delete
AFTER DELETE ON incidentes
FOR EACH ROW
BEGIN
--
INSERT INTO auditoria_incidentes(audi_incifecha_anterior ,
audi_inciplaca_anterior ,
audi_incilugar_anterior ,
audi_incicantheridos_anterior
,
audi_incicanfatalidades_anterior ,
audi_incicanautosinvolucrados_anterior
,
audi_fechamodificacion
,
audi_usuario
,
audi_incicodigo ,
audi_accion

)
VALUES(old.incifecha , old.inciplaca , old.incilugar,
old.incicantheridos , old.incicanfatalidades,old.incicanautosinvolucrados,
now(), current_user(), old.incicodigo, 'Registro
Eliminado');
END;//

--PROBAMOS ELIMINANDO UN REGISTRO


DELETE FROM INCIDENTES where incicodigo = 3;

--Solucion_Laboratorio_LenguajeTransaccional.txt

You might also like