Solución laboratorio 13 ADSI SENA
-
Upload
jhonbarcasnegras -
Category
Documents
-
view
400 -
download
10
Transcript of Solución laboratorio 13 ADSI SENA
-
8/20/2019 Solución laboratorio 13 ADSI SENA
1/51
Laboratorio 13
Presentado por: Jhon BarcasnegrasA la profesora: Claudia Casas
Análisis y desarrollo de sistemas de informaciónServicio nacional de aprendizaje
!"#
-
8/20/2019 Solución laboratorio 13 ADSI SENA
2/51
Laboratorio 13
1. Procedimientos almacenados para inserción de registros
$n procedimiento almacenado es similar a una función pero no retorna un valor%&eci'en sui nom're por(ue las instrucciones (uedan almacenadas en el servidor% Sufunción es facilitar la ejecución de una tarea en la 'ase de datos ya (ue ahorraejecutar toda la sinta)is ha'itualmente necesaria para ello% *amos a crear procedimientos almacenados para inserción de datos% Para elloutilizaremos la 'ase de datos la'oratorio%s(l (ue desarrollamos en el la'oratorio "%Para esto hemos aprovechado la 'ase de datos creada en +yS,- y además la hemoscreado nuevamente en .racle%-os primeros ejercicios serán ejecutados en +yS,- y aplican para las ta'lasprofesor/ curso/ estudiante y estudiante)curso%
1.1 Tabla profesor
-a ta'la profesor tiene esta estructura:
mys(l0 descri'e profesor1233333333333333323333333333333332333333323333323333333332333333324 5ield 4 6ype 4 7ull 4 8ey 4 9efault 4 )tra 4233333333333333332333333333333333233333323333323333333332333333324 doc;profesor 4 varchar 4 7$-- 4 44 nom;profesor 4 varchar
-
8/20/2019 Solución laboratorio 13 ADSI SENA
3/51
algMn error y luego ejecutar todo el 'lo(ue de instrucciones%
Procedimiento almacenado para la tabla ins_profesor (nota: dice tabla profesor porque no tengo captura de la corrección. Cambié el nombre para que no se llamaraigual que la tabla).
Ahora hay (ue ponerlo a prue'a llamando al mGtodo e introduciendo informaciónválida de acuerdo a los parámetros:
*erificamos (ue se hayan insertado los datos correctamente:
mys(l0 select from profesor12333333333333333332333333333333333333233333333333333233333333333332333333333324 doc;profesor 4 nom;profesor 4 ape;profesor 4 cate;prof 4 sal;prof 42333333333333333332333333333333333333233333333333333332333333333332333333333324 "%!%DE#%D 4 Alejandra 4 6orres 4 F 4 ""!!!!! 44 "?%E%D 4 +aritza 4 Angarita 4 " 4 ##!!!! 44 E?%#!%D! 4 +artha 4 &ojas 4 4 E!!!! 44 D?#F? 4 &afael 4 Conde 4 ? 4 #!!!! 44 "%"E%!F 4 Carlos 4 PGrez 4 ? 4 #!!!! 4233333333333333333233333333333333333323333333333333333233333333333233333333332
-
8/20/2019 Solución laboratorio 13 ADSI SENA
4/51
1.2 Tabla curso
mysql> select * from curso!""""""""""""!"""""""""""""""""""""""""""""""""""""!"""""""""""""!"""""""""""!# cod_curso # nom_curs # $oras_cur # %alor_cur #!""""""""""""!""""""""""""""""""""""""""""""""""""""!"""""""""""""!"""""""""""!# &'' # +undamentos de bases de datos # ', # -,,,,, #
# &'/ # Procedmientos almacenados # , # -,,,,, ## -,,0 # +undamentos de 123 # , # ,,,,, ## ,&& # 4ane5o de 4y123 # '- # --,,,, ## /'-0& # +undamentos de 6racle # 0, # /,,,,,, #!""""""""""""!""""""""""""""""""""""""""""""""""""""!""""""""""""!"""""""""""!
-
8/20/2019 Solución laboratorio 13 ADSI SENA
5/51
1.3 Tabla estudiantes
mys(l0 select from estudiante12333333333333333332333333333333332333333333333333332333333333324 doc;est 4 nom;est 4 ape;est 4 edad;est 42333333333333333332333333333333332333333333333333332333333333324 "%!%!%!D 4 Jonatan 4 Ardila 4 "D 44 "%!%DE#%ED 4 Carlos 4 +artinez 4 " 44 E?%#!%D! 4 +arHa 4 Perez 4 ? 44 DF!#?# 4 Jhon 4 Barcasnegras 4 ?D 44 "%F#%ED 4 Carlos Jose 4 -opez 4 # 42333333333333333332333333333333332333333333333333333233333333332
-
8/20/2019 Solución laboratorio 13 ADSI SENA
6/51
1.4 Tabla estudiantexcurso
mys(l0 select cod;curso/ doc;est/ nom;est/ fec;ini;estcur 30 from curso join estudiante join estudiante)curso 30 on doc;est N doc;est;estcur and cod;curso N cod;curso;estcur123333333333332333333333333333332333333333332333333333333333332
4 cod;curso 4 doc;est 4 nom;est 4 fec;ini;estcur 4233333333333323333333333333333323333333333323333333333333333324 !"" 4 "%!%DE#%ED 4 Carlos 4 !""3!"3! 44 #!!ED 4 E?%#!%D! 4 +arHa 4 !""3!"3!? 44 !"" 4 "%!%!%!D 4 Jonatan 4 !""3!"3! 44 ?F#ED" 4 E?%#!%D! 4 +arHa 4 !""3!"3!F 44 "DF? 4 DF!#?# 4 Jhon 4 !"F3!3!E 4233333333333323333333333333333332333333333323333333333333333332
-
8/20/2019 Solución laboratorio 13 ADSI SENA
7/51
1.5 Tabla artículo:
-as ta'las cliente/ artHculo y pedido la realizaremos usando la interfaz Oe' de
.racle%
-
8/20/2019 Solución laboratorio 13 ADSI SENA
8/51
jecutamos en terminal el procedure:
S,-0 e)ecute ins;articulo
-
8/20/2019 Solución laboratorio 13 ADSI SENA
9/51
1. Tabla cliente
-
8/20/2019 Solución laboratorio 13 ADSI SENA
10/51
-a ejecución del procedimiento desde una >9 es algo distinta/ no se puede usare)ecute:
-
8/20/2019 Solución laboratorio 13 ADSI SENA
11/51
1.! Tabla pedido
-
8/20/2019 Solución laboratorio 13 ADSI SENA
12/51
-
8/20/2019 Solución laboratorio 13 ADSI SENA
13/51
1." Tabla compa#ía
-
8/20/2019 Solución laboratorio 13 ADSI SENA
14/51
mys(l0 select from compaQia12333333333333333323333333333333333333333333233333333333333323333333333333333333333333333324 comnit 4 comnom're 4 comaQofun 4 comreplegal 4233333333333333332333333333333333333333333323333333333333332333333333333333333333333333332
4 !!!!3 4 Seguros Atlantida 4 " 4 Carlos -ópez 44 3" 4 Aseguradora &ojas 4 "" 4 -uis 5ernando &ojas 44 3# 4 Seguros del stadio 4 !!" 4 +aria +argarita PGrez 44 3D 4 Seguros del cari'e 4 !!# 4 -uis Arrieta 4233333333333333332333333333333333333333333323333333333333332333333333333333333333333333332
1.$ Tabla tiposautomotores
-
8/20/2019 Solución laboratorio 13 ADSI SENA
15/51
mys(l0 select from tiposautomotores12333333%33332333333333333333324 autotipo 4 autnom're 4233333333333233333333333333332
4 " 4 Automóviles 44 4 Camperos 44 ? 4 Camiones 44 F 4 Auto'uses 4233333333332333333333333333332F roOs in set
1.1% Tabla automotores
-
8/20/2019 Solución laboratorio 13 ADSI SENA
16/51
mys(l0 select from automotores12333333333332333333333333333332333333333323333333333332333333333333333333233333333333333332333333333333333333324 autoplaca 4 automarca 4 autotipo 4 automodelo 4 autonumpasajeros 4autocilindraje4autonumchasis 42333333333332333333333333333332333333333323333333333332333333333333333333233333333333333332333333333333333333324 98R! 4 &eanult stepOay 4 " 4 !! 4 # 4 "E!! 4OyOzzz"#DLL!!dF# 44 596E#! 4 +ercedes 4 F 4 !"! 4 F# 4 "?!! 4OyOzzz"DLL!!f# 44 5--F! 4 Chevrolet corsa 4 " 4 !!? 4 # 4 "F!! 4OyOzzz"EDLL!!d# 44 8J,! 4 8ia sportage 4 4 !! 4 D 4 !!! 4OyOzzz"#DLL!!d# 4233333333333233333333333333333233333333332333333333333233333333333333333323333333333333333233333333333333333332
-
8/20/2019 Solución laboratorio 13 ADSI SENA
17/51
1.11 Tabla aseguramientos
-lamamos al procedimiento:
call ins;asegura
-
8/20/2019 Solución laboratorio 13 ADSI SENA
18/51
4 !!!!! 44 F 4 !"?3!3" 4 !"F3!3" 4 E!!!!!!! 4 *igente 4 596E#!4 "!!!!! 42333333333332333333333333333323333333333333333333323333333333333333333233333333333
2333333333333333333233333333332
1.12 Tabla incidentes
call ins;incidente
-
8/20/2019 Solución laboratorio 13 ADSI SENA
19/51
23333333333333333333333333324 " 4 !"3!3?! 4 98R! 4 Bucaramanga 4 ! 4 ! 4 44 4 !"3!3D 4 5--F! 4 irón 4 " 4 ! 4
" 44 ? 4 !""3!3 4 5--F! 4 Bucaramanga 4 " 4 ! 4 44 F 4 !"?3!3"# 4 596E#! 4 Barran(uilla 4 " 4 ! 4 4
2 Procedimientos almacenados para procesos en &racle
2.1 Proceso ordenar salarios:
ste ejercicio solicita presentar los salarios de los profesores organizados porcategorHas% .racle no me permite crear un procedimiento (ue simplemente lleve elselect en su interior/ sino (ue al investigar veo (ue de'o crear un cursor%l código del cursor en el procedimiento serHa asH:
-
8/20/2019 Solución laboratorio 13 ADSI SENA
20/51
jecutamos el procedimiento y o'tenemos el resultado en pantalla:
-
8/20/2019 Solución laboratorio 13 ADSI SENA
21/51
2.2 Proceso cursos:+ostrar los cursos cuyo valor sea mayor a #!!!!!:
-
8/20/2019 Solución laboratorio 13 ADSI SENA
22/51
2.3 Proceso clientes:+uestra los datos de los clientes (ue realizaron pedidos el dHa # de fe'rero del!"%
-
8/20/2019 Solución laboratorio 13 ADSI SENA
23/51
2.4 'ostrar todos los pedidos:
create or replace procedure T->S6A;P9>9.STis
cursor curs isselect tit;art/ can;art;artped/ val;ven;art;artpedfrom articulo)pedido join articuloon id;art N id;art;artped1'eginfor resultado in curs loopd'ms;output%put;line
-
8/20/2019 Solución laboratorio 13 ADSI SENA
24/51
end loop1
end1
+uestra el resultado:
Placa: 5--F! )piración: !I?!I!"? +arca: Chevrolet corsa
Statement processed%
3 Procedimientos almacenados para procesos con '*+,L
n +yS,- los procedimientos con select no son distintos de los insert y re(uierenmucho menos tra'ajo (ue con .racle%
3.1 Proceso mostrar cursos
*amos a mostrar todos los cursos ordenados por valor%
$S Ula'oratorios(lU19&.P procedure >5 V>S6S Umostrar;cursosU19->+>6& $S Ula'oratorios(lU
C&A6 P&.C9$& mostrar;cursos 7select from curso order 'y valor;cur179
9->+>6& 1
-lamamos el procedimiento y o'tenemos los datos (ue (ueremos%
+ys(l0 call mostrar;cursos1
233333333333233333333333333333333333333333333333332333333333332333333333332
4 cod;curso 4 nom;curs 4 horas;cur 4 valor;cur 4
2333333333332333333333333333333333333333333333333332333333333332333333333332
4 "FF 4 5undamentos de 'ases de datos 4 F! 4 #!!!!! 4
4 "DF? 4 Procedimientos almacenados 4 ! 4 #!!!!! 4
4 !"" 4 +anejo de +yS,- 4 F# 4 ##!!!! 4
-
8/20/2019 Solución laboratorio 13 ADSI SENA
25/51
4 #!!ED 4 5undamentos de S,- 4 ! 4 D!!!!! 4
4 ?F#ED" 4 5undamentos de .racle 4 E! 4 ?!!!!!! 4
3.2 'ostrar pedidos
$S Ula'oratorios(lU19&.P procedure >5 V>S6S Umostrar;pedidosU1
9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& mostrar;pedidos 7select id;pedido/ id;art/ tit;art/ can;art;artped/ val;ven;art;artpedfrom pedido join articulo join articulo)pedido
on id;pedido N id;ped;artped and id;art;artped N id;art179
9->+>6& 1
-lamamos el proceso y o'tenemos los valores:
mys(l0 call mostrar;pedidos1
23333333333323333333323333333333333333333333333333333333333333233333333333333332333333333333333333332
4 id;pedido 4 id;art 4 tit;art 4 can;art;artped 4 val;ven;art;artped 4
23333333333323333333323333333333333333333333333333333333333333233333333333333332333333333333333333332
4 " 4 ? 4 Creación de un portal con php y mys(l 4 # 4 F!!!! 4
4 " 4 F 4 Administración de sistemas operativos 4 " 4 ##!!! 4
4 4 " 4 &edes cisco 4 # 4 E#!!! 4
4 ? 4 4 5ace'ooL y tOitter para adultos 4 "! 4 ##!!! 4
4 ? 4 ? 4 Creación de un portal con php y mys(l 4 " 4 F#!!! 4
4 F 4 " 4 &edes cisco 4 ! 4 E#!!! 4
23333333333323333333323333333333333333333333333333333333333333233333333333333332333333333333333333332
-
8/20/2019 Solución laboratorio 13 ADSI SENA
26/51
3.3 -mpresas fundadas entre 1$$1 * 1$$"
$S Ula'oratorios(lU19&.P procedure >5 V>S6S Umostrar;empresasU1
9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& mostrar;empresas7select from compaQiaOhere comaQofun 0N "" and comaQofun WN "179
9->+>6& 1
-lamamos el procedimiento:
mys(l0 call mostrar;empresas1
2333333333333333323333333333333333333333233333333333333323333333333333333333333332
4 comnit 4 comnom're 4 comaQofun 4 comreplegal 4
23333333333333333233333333333333333333333233333333333333323333333333333333333333332
4 !!!!3 4 Seguros Atlantida 4 " 4 Carlos -ópez 4
4 3" 4 Aseguradora &ojas 4 "" 4 -uis 5ernando &ojas 4
2333333333333333323333333333333333333333332333333333333332333333333333333333333333332
3.4 lientes ordenados por apellidos:
$S Ula'oratorios(lU19&.P procedure >5 V>S6S Uclientes)apellidoU1
9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& clientes)apellido 7select from clienteorder 'y ape;cli desc179
9->+>6& 1
-
8/20/2019 Solución laboratorio 13 ADSI SENA
27/51
-lamamos el procedure:
3.5 /ncidentes con un )erido
$S Ula'oratorios(lU19&.P procedure >5 V>S6S Uincidentes"heridoU1
9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& incidentes"herido 7select incifecha/ inciplaca/ asefechainicio/ aseestado/ asevaloraseguradofrom incidentes join aseguramientoson inciplaca N aseplaca and incicantheridos N "179
9->+>6& 1
-lamamos el proceso:
3. /ncidentes del (e)ículo 0LL42%
$S Ula'oratorios(lU19&.P procedure >5 V>S6S UincifllF!U1
9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& incifllF! 7select incifecha/ inciplaca/ asefechainicio/ asefechae)piracion/ aseestado/asevalorasegurado
from incidentes join aseguramientos
-
8/20/2019 Solución laboratorio 13 ADSI SENA
28/51
on inciplaca N aseplaca and inciplaca N 5--F!179
9->+>6& 1
-lamamos el procedimiento:
4. 0unciones
4.1 ontar estudiantes ma*ores de 22
$S Ula'oratorios(lU19&.P function >5 V>S6S UcontarU1
9->+>6& $S Ula'oratorios(lUC&A6 5$7C6>.7 contar 76&B>79C-A& cantidad int1
select count+>6& 1
-lamamos la función y visualizamos el resultado:
mys(l0 select contar
-
8/20/2019 Solución laboratorio 13 ADSI SENA
29/51
4.2 'ostrar el nombre del ms estudiante ms o(en
Primero he creado una función (ue devuelve como valor la edad del alumno más joven:
$S Ula'oratorios(lU19&.P function >5 V>S6S UmasJovenU1
9->+>6& $S Ula'oratorios(lUC&A6 5$7C6>.7 masJoven 79C-A& masJoven int1S-C6 edad;est into masJoven
from estudianteorder 'y edad;est asc limit "1&6$&7 masJoven1791
9->+>6& 1
@ luego la he com'inado con un select/ asH:
mys(l0 select nom;est/ edad;est from estudiante Ohere edad;est N masJoven
-
8/20/2019 Solución laboratorio 13 ADSI SENA
30/51
9->+>6& 1
Pro'amos la función:
4.4 +ueldo promedio de profesores categoría 1
$S Ula'oratorios(lU19&.P function >5 V>S6S UpromediosueldoU1
9->+>6& $S Ula'oratorios(lUC&A6 5$7C6>.7 promediosueldo 76&B>79C-A& avgsueldo int1S-C6 A*76. avgsueldo 5&.+ profesorKX& cate;prof N "1&6$&7 avgsueldo179
9->+>6& 1
Pro'amos la función con select:
mys(l0 select promediosueldo
-
8/20/2019 Solución laboratorio 13 ADSI SENA
31/51
4.5 ombre del profesor con el menor sueldo
$S Ula'oratorios(lU19&.P function >5 V>S6S UmenorSueldoU1
9->+>6& $S Ula'oratorios(lUC&A6 5$7C6>.7 menorSueldo
-
8/20/2019 Solución laboratorio 13 ADSI SENA
32/51
5 0unciones con &racle
5.1 ombre fec)a * (alor del pedido ms costoso
Para resolver esta función ya (ue hay (ue devolver varios valores en una varia'le/utilice una concatenación% Para conseguir el valor más alto realice una su'consulta%
C&A6 .& &P-AC 5$7C6>.7 fn;valPed&6$&7 *A&CXA&>Svar;datos *A&CXA&7S-C6 7om're: 44 nom;cli 44 5echa: 44 fec;ped 44 *alor: 44 val;ped>76. var;datos5&.+ cliente
J.>7 pedido.7 id;cli N id;cli;ped and val;ped N
-
8/20/2019 Solución laboratorio 13 ADSI SENA
33/51
create or replace procedure TPA;9>6.&>A-STiscursor curs isselect edi;art 44 44count.7 fn;valpoliza&6$&7 *A&CXA&>Svar;datos *A&CXA&7S-C6 Código: 44 asecod 44 5echa e)piración: 44 asefechae)piracion 44 *alorasegurado: 44 asevalorasegurado
>76. var;datos5&.+ aseguramientosKX& asevalorasegurado N
-
8/20/2019 Solución laboratorio 13 ADSI SENA
34/51
5.4 /ncidentes con el mínimo de autos in(olucrados
C&A6 .& &P-AC 5$7C6>.7 fn;incidentes&6$&7 *A&CXA&>Svar;datos *A&CXA&7
S-C6 Código incidente: 44 incicod 44 5echa: 44 incifecha 44 -ugar: 44 incilugar44 Placa: 44 inciplaca44 *alor póliza: 44 asevalorasegurado 44 *ehHculosimplicados: 44 incicanautosinvolucrados>76. var;datos5&.+ incidentesJ.>7 aseguramientos.7 inciplaca N aseplaca and incicanautosinvolucrados N 7
-
8/20/2019 Solución laboratorio 13 ADSI SENA
35/51
5.5 6atos de la póli7a de ma*or (alor
create or replace 5$7C6>.7 fn;autopolizamasval&6$&7 *A&CXA&
>Svar;datos *A&CXA&7S-C6 Placa: 44 autoplaca 44 +arca: 44 automarca 44 6ipo: 44 autotipo 44+odelo: 44 automodelo 44 >nicio póliza: 44 asefechainicio44 )piración: 44asefechae)piracion 44 stado: 44 aseestado 44 *alor: 44 asevalorasegurado>76. var;datos5&.+ aseguramientosJ.>7 automotores.7 aseplaca N autoplaca A79 asevalorasegurado N
-
8/20/2019 Solución laboratorio 13 ADSI SENA
36/51
. 6isparadores o Triggers
-os disparadores son funciones Mtiles en auditorHa (ue se programan para ejecutarseautomáticamente cuando se efectMa el tipo de acción (ue los dispara% sta acción
puede ser $pdate/ insert y delete% Pueden ejecutarse antes
-
8/20/2019 Solución laboratorio 13 ADSI SENA
37/51
-a aplicación genera el código adecuado:
$S Ula'oratorios(lU1
9->+>6&
9&.P 6&>& >5 V>S6S la'oratorios(l%profesor;B5.&;$P9A6
$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Uprofesor;B5.&;$P9A6U B5.& $P9A6 .7 UprofesorU5.& ACX &.KB>7insert into auditoria;profesor
-
8/20/2019 Solución laboratorio 13 ADSI SENA
38/51
@ ahora miramos cómo (uedó la ta'la profesor y la ta'la auditoria;profesor 5>9 B@ jhon"?F#1
le he dado privilegios de acceso:
&A76 A-- P&>*>-S .7 % 6. jhonBarc[localhost1@ luego refrescamos los privilegios:
Ahora voy a usar ese nuevo usuario para los ejercicios% Cerrando mi cone)ión y
regresando con mi nuevo usuario y contraseQa%Ahora la función current;user7>7S&6 >76. auditoria;profesor
-
8/20/2019 Solución laboratorio 13 ADSI SENA
39/51
liminamos el registro:
delete from profesor Ohere doc;profesor N &afael1
@ ahora miramos (ue ha ocurrido con nuestras ta'las profesor y auditorHa profesor:
Se ha 'orrado el registro del profesor &afael Conde y ahora sH aparece (ue el eventolo realizó el usuario jhonBarc tal como se ve en la siguiente imagen:
.2 6isparador para la tabla curso en '*+,L
.2.1 8ctuali7ar urso
C&A6 6AB- Ula'oratorios(lU%Uauditoria;cursoU < UidaudiU >76 7.6 7$-- A$6.;>7C&+76/ Uaudi;nom'reAnteriorU *A&CXA&76 7$--/ Uaudi;valor7uevoU >76 7$--/ Uaudi;fecha+odificacionU 9A6 7$--/ Uaudi;usuarioU *A&CXA&
-
8/20/2019 Solución laboratorio 13 ADSI SENA
40/51
P&>+A&@ 8@ 7insert into auditoria;curso+>6&
9&.P 6&>& >5 V>S6S la'oratorios(l%curso;B5.&;$P9A6$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Ucurso;B5.&;$P9A6U B5.& $P9A6 .7 UcursoU 5.&ACX &.KB>7insert into auditoria;curso
-
8/20/2019 Solución laboratorio 13 ADSI SENA
41/51
audi;fecha+odificacion/ audi;usuario/ audi;codCurso/ audi;accion=values< old%nom;curs/ old%horas;cur/ old%valor;cur/ neO%nom;curs/ neO%horas;cur/neO%valor;cur/ noO6& 1$S Ula'oratorios(lU1
9->+>6&
9&.P 6&>& >5 V>S6S la'oratorios(l%curso;A56&;9-6$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Ucurso;A56&;9-6U A56& 9-6 .7 UcursoU 5.&ACX &.KB>7
insert into auditoria;curso
-
8/20/2019 Solución laboratorio 13 ADSI SENA
42/51
9&.P 6&>& >5 V>S6S la'oratorios(l%estudiante;B5.&;$P9A6$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Uestudiante;B5.&;$P9A6U B5.& $P9A6 .7
UestudianteU 5.& ACX &.KB>7insert into auditoria;estudiantes7insert into auditoria;estudiante7
-
8/20/2019 Solución laboratorio 13 ADSI SENA
43/51
insert into auditoria;automotores6& 1$S Ula'oratorios(lU1
9->+>6&
9&.P 6&>& >5 V>S6S la'oratorios(l%automotores;A56&;9-6$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Uautomotores;A56&;9-6U A56& 9-6 .7UautomotoresU 5.& ACX &.KB>7insert into auditoria;automotoresniAnteriorU 9A6 7.6 7$--/ Uaudi;ase5inAnteriorU 9A6 7$--/ Uaudi;valorAseAnteriorU >76 7$--/ Uaudi;estadoAnteriorU *A&CXA&ni7uevoU 9A6 7.6 7$--/ Uaudi;ase5in7uevoU 9A6 7$--/
Uaudi;valor7uevoU >76 7$--/
-
8/20/2019 Solución laboratorio 13 ADSI SENA
44/51
Uaudi;estado7uevoU *A&CXA&+ 7$--/
Uaudi;usuarioU *A&CXA&7insert into auditoria;aseguramientosniAnterior/ audi;ase5inAnterior/audi;valorAseAnterior/ audi;estadoAnterior/ audi;placaAnterior/audi;costoAnterior/ audi;ase>ni7uevo/ audi;ase5in7uevo/ audi;valor7uevo/audi;estado7uevo/ audi;placa7uevo/ audi;costo7uevo/ audi;fecha+odificacion/audi;usuario/ audi;asecodigo/ audi;accion=values7insert into auditoria;aseguramientosniAnterior/ audi;ase5inAnterior/
audi;valorAseAnterior/ audi;estadoAnterior/ audi;placaAnterior/
-
8/20/2019 Solución laboratorio 13 ADSI SENA
45/51
audi;costoAnterior/ audi;fecha+odificacion/ audi;usuario/ audi;asecodigo/audi;accion=values
-
8/20/2019 Solución laboratorio 13 ADSI SENA
46/51
values+>6&
9&.P 6&>& >5 V>S6S la'oratorios(l%incidentes;A56&;9-6
$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Uincidentes;A56&;9-6U A56& 9-6 .7 UincidentesU5.& ACX &.KB>7insert into auditoria;incidentes
-
8/20/2019 Solución laboratorio 13 ADSI SENA
47/51
.! 6isparador de actuali7ación con &racle =Tabla artículo>
Primero creamos la ta'la auditoria;articulos:
.!.1 8ctuali7ación
create or replace trigger TAC6$A->RA&;A&6>C$-.T
B5.&update on TA&6>C$-.Tfor each roO'egininsert into auditoria;articulo6A&6A76&>.&/ A$6A&6A76&>.&/9>A&6A76&>.&/ P&CA&6A76&>.&/ 6>6A&67$*./ A$6A&67$*./9>A&67$*./ P&CA&67$*./ 5CXA+.9>5>CAC>.7/ $S$A&>./>9A&6/ ACC>.7=values
-
8/20/2019 Solución laboratorio 13 ADSI SENA
48/51
.!.2 -liminar registros
create or replace trigger T->+>7A&;A&6>C$-.TA56&
delete on TA&6>C$-.Tfor each roO'egininsert into auditoria;articulo6A&6A76&>.&/ A$6A&6A76&>.&/9>A&6A76&>.&/ P&CA&6A76&>.&/ 5CXA+.9>5>CAC>.7/$S$A&>./ >9A&6/ ACC>.7=valuesRA&;C->76TB5.&update on TC->76Tfor each roO'egin
insert into auditoria;clienteA76/ APC->A76/ 9>&C->A76/9PC->A76/ +SA76/ 7.+C->7$/ APC->7$/ 9>&C->7$/9PC->7$/ +S7$/5CXA+.9/ $S$A&>./ >9C->/ ACC>.7= values/ :old%AP;C->/ :old%9>&;C->/ :old%9P;C->/:old%+S;C$+;C->/ :neO%7.+;C->/ :neO%AP;C->/ :neO%9>&;C->/:neO%9P;C->/ :neO%+S;C$+;C->/ sysdate/ user/ :old%>9;C->/ Actualizacion=1end1
-
8/20/2019 Solución laboratorio 13 ADSI SENA
49/51
.".2 -liminar registros
create or replace trigger T->+>7A&;C->76TA56&
delete on TC->76Tfor each roO'egininsert into auditoria;clienteA76/ APC->A76/ 9>&C->A76/9PC->A76/ +SA76/5CXA+.9/ $S$A&>./ >9C->/ ACC>.7= values/ :old%AP;C->/ :old%9>&;C->/ :old%9P;C->/:old%+S;C$+;C->/ sysdate/ user/ :old%>9;C->/ Actualizacion=1end1
.$ 6isparadores para la tabla pedido
C&A6 6AB- TA$9>6.&>A;P9>9.T< T>9C->P9AT *A&CXA&9C->P97T *A&CXA&.T *A&CXA&9P9T 7$+B&/TACC>.7T *A&CXA&RA&;P9>9.TB5.&update on TP9>9.Tfor each roO'egin>7S&6 >76. A$9>6.&>A;P9>9.9C->P9A/ 5CP9A/ *A-P9A/
>9C->P97/ 5CP97/ *A-P97/ 5C+.9/ $S$A&>./ >9P9/ ACC>.7=*A-$S9;C->;P9/ :.-9%5C;P9/:.-9%*A-;P9/:7K%>9;C->;P9/ :7K%5C;P9/ :7K%*A-;P9/S@S9A6/ $S&/:.-9%>9;P9/ Actualización=1end1
-
8/20/2019 Solución laboratorio 13 ADSI SENA
50/51
.$.2 -liminar registros
create or replace trigger T->+>7A&;P9>9.TA56&
delete on TP9>9.Tfor each roO'egin>7S&6 >76. A$9>6.&>A;P9>9.9C->P9A/ 5CP9A/ *A-P9A/5C+.9/ $S$A&>./ >9P9/ ACC>.7=*A-$S9;C->;P9/ :.-9%5C;P9/ :.-9%*A-;P9/ S@S9A6/$S&/:.-9%>9;P9/ -iminación registro=1
end1
-
8/20/2019 Solución laboratorio 13 ADSI SENA
51/51
&eferencias
-as 'ases de datos fueron creadas con las herramientas +yS,- KorL'ench y lainterfaz Oe' de .racle%
Se utilizó información de las páginas:OOO%oracleya%comOOO%mys(lconclase%comOOO%stacLoverfloO%comOOO%desarrolloOe'%comOOO%el'auldelprogramador%comOOO%techonthenet%coml resto de la información pertenece a los o'jetos de aprendizaje del Sena%
http://www.oracleya.com/http://www.mysqlconclase.com/http://www.stackoverflow.com/http://www.desarrolloweb.com/http://www.elbauldelprogramador.com/http://www.techonthenet.com/http://www.oracleya.com/http://www.mysqlconclase.com/http://www.stackoverflow.com/http://www.desarrolloweb.com/http://www.elbauldelprogramador.com/http://www.techonthenet.com/