Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos
Al finalizar esta leccin, debera estar capacitado para lo siguiente: Describir y crear un procedimiento Crear procedimientos con par metros Diferenciar entre par metros formales y reales !tilizar diferentes modos de transferencia de par metros "lamar a un procedimiento #anejar e$cepciones en procedimientos %liminar un procedimiento
&'u( es un Procedimiento)
!n procedimiento: %s un tipo de subprograma *ue realiza una accin +e puede almacenar en la base de datos como objeto de es*uema ,omenta la capacidad de reutilizacin y mantenimiento
Desarrollo de Procedimientos
2 %ditar file.sql
Par metros reales: 8alores literales, variables o e$presiones utilizadas en la lista de par metros del subprograma llamado %jemplo:
CREATE OR REPLACE PROCEDURE "#ise$s#l#"/ (i% IN e()l0/ees.e()l0/ee$i%1T2PE' )e"3e45 IN NU&BER) IS BEGIN UPDATE e()l0/ees SET s#l#"/ + s#l#"/ 6 (, 7 )e"3e458,--) ! ERE e()l0/ee$i% + i%; END "#ise$s#l#"/; 8
E9ECUTE "#ise$s#l#"/(,:;',-)
!tilice variables del ;ost de i+'":Plus, ejecute >UER2$E&P con variables del ;ost e imprima las variables del ;ost?ARIABLE 4#(e ?ARC AR.(.@) ?ARIABLE s#l NU&BER E9ECUTE q<e"/$e()(,:,' *4#(e' *s#l) PRINT 4#(e s#l
Copyright 2004, Oracle. Todos los Derechos Reservados.
%st precedida de dos puntos /*0 cuando se ;ace referencia a ella en cdigo P".+'" +e puede ;acer referencia a ella en un blo*ue annimo, pero no en un subprograma almacenado Proporciona un valor a un blo*ue P".+'" y recibe un valor de un blo*ue P".+'"
Copyright 2004, Oracle. Todos los Derechos Reservados.
CREATE OR REPLACE PROCEDURE f0"(#5$)B04e ()B04e$40 IN OUT ?ARC AR.) IS BEGIN )B04e$40 *+ A(A || SUBSTR()B04e$40','C) || A)A || SUBSTR()B04e$40'D'C) || A-A || SUBSTR()B04e$40':); END f0"(#5$)B04e; 8
Con nombre:
#uestra los par metros reales en orden arbitrario y utiliza el operador de asociacin /+E0 para asociar un par metro formal con nombre a su par metro real
Combinacin:
#uestra algunos de los par metros reales como posicionales y otros como con nombre
Proporciona fle$ibilidad combinando la sinta$is de transferencia de par metros posicional y con nombre:
E9ECUTE #%%$%e)5 E9ECUTE #%%$%e)5 (AAD?ERTISINGA' l03 +E ,.--) E9ECUTE #%%$%e)5 (l03 +E ,.--)
%$cepciones #anejadas
Procedimiento de llamada PROCEDURE PROC, ... IS ... BEGIN ... PROC.(#"H,); ... E9CEPTION ... END PROC,; Procedimiento llamado PROCEDURE PROC. ... IS ... BEGIN ... E9CEPTION ... END PROC.; %l control vuelve al procedimiento de llamada
%$cepciones Fo #anejadas
Procedimiento de llamada PROCEDURE PROC, ... IS ... BEGIN ... PROC.(#"H,); ... E9CEPTION ... END PROC,; Procedimiento llamado PROCEDURE PROC. ... IS ... BEGIN ... E9CEPTION ... END PROC.;
CREATE PROCEDURE #%%$%e)#"5(e45$40eL( 4#(e ?ARC AR.' (H" NU&BER' l03 NU&BER) IS BEGIN INSERT INTO DEPART&ENTS (%e)#"5(e45$i%' %e)#"5(e45$4#(e' (#4#He"$i%' l03#5i04$i%) ?ALUES (DEPART&ENTS$SE>.NE9T?AL' 4#(e' (H"' l03); DB&S$OUTPUT.PUT$LINE(AA%%e% De)5* A||4#(e); END;
CREATE PROCEDURE 3"e#5e$%e)#"5(e45s$40eL IS BEGIN #%%$%e)#"5(e45$40eL(A&e%i#A' ,--' ,I--); #%%$%e)#"5(e45$40eL(AE%i5i4HA' JJ' ,I--); #%%$%e)#"5(e45$40eL(AA%Ke"5isi4HA' ,-,' ,I--); END;
Copyright 2004, Oracle. Todos los Derechos Reservados.
%liminacin de Procedimientos
Puede eliminar un procedimiento *ue est almacenado en la base de datos +inta$is:
DROP PROCEDURE procedure_name
%jemplo:
DROP PROCEDURE "#ise$s#l#"/;
7esumen
%n esta leccin, debe ;aber aprendido lo siguiente: %scribir un procedimiento para realizar una tarea o una accin Crear, compilar y guardar procedimientos en la base de datos con el comando +'" CREATE PROCEDURE !tilizar par metros para transferir datos del entorno de llamada al procedimiento con tres modos de par metros distintos: IN (valor por defecto), OUT e IN OUT. 7econocer el efecto *ue tiene manejar y no manejar e$cepciones en transacciones y procedimientos de llamada
Copyright 2004, Oracle. Todos los Derechos Reservados.
7esumen
%liminar procedimientos de la base de datos con el comando +'" DROP PROCEDURE Organizar en mdulos el cdigo de la aplicacin utilizando los procedimientos como blo*ues de construccin