SlideShare una empresa de Scribd logo
1 de 11
Por: Byron Quisquinay
Ciclos
 Como parte de los lenguajes de programación

contamos con herramientas para tareas repetitivas,
para ello empleamos Ciclos o bucles. PL/SQL nos
ofrece los ciclos:
 FOR
 LOOP
 WHILE
¿Como decidir cuándo usar cuál de estas
sentencias de proceso en ciclo repetitivo?
 Ciclo numérico FOR: Se recomienda utilizarlo cuando se

tiene claro las veces de interacción necesarias para el
proceso de las sentencias que contendrá. Entre un valor
mínimo y un máximo (por ejemplo: de 1 a 10 veces). Y que
su ejecución no será interrumpida (finalizada) antes de
esas interacciones. Excepto claro cuando se genere una
excepción.
 Used cuenta con el script:
Script_curso_PLSQL_Basico_m3_01.sql
 Seleccione de dicho script el PL anónimo: ‘For como ciclo
controlado’. Cópielo y péguelo a su herramienta para
ejecución de SQL y PL/SQL.
 Analíselo y ejecútelo.
--Pl/SQl anónimo: For como ciclo controlado
--Curso:
PL/SQL Básico
--Script:
Script_curso_PLSQL_Basico_m3_01
--Objetivo:
Instruir a los participantes del curso en el uso de FOR como ciclo
controlado.
--Autor:
Byron Quisquinay
--Fecha Elaboración: 16/12/2013
--Versión del script: 01
declare
begin
for ciclo_for in 1..10 loop
begin
dbms_output.put_line(ciclo_for);
end;
end loop; --ciclo_for
end;
Ciclo condicional WHILE
 Se podría emplear cuando no se tiene conocimiento de

interacciones repetitivas que se requieren para las
sentencias que contendrá el ciclo. Cuando se requiere
una finalización condicionada de las interacciones del
ciclo y que no se ejecute ni una vez más según la
condición.
 De su Script para el módulo 2 copie y peque el PL
anónimo: “While ciclo condicional.”.
 Analícelo y ejecútelo
--Pl/SQl anónimo: While ciclo condicional.
--Curso:
PL/SQL Básico
--Script:
Script_curso_PLSQL_Basico_m3_01
--Objetivo:
Instruir a los participantes del curso en el uso de While como ciclo condicionado.
--Autor:
Byron Quisquinay
--Fecha Elaboración: 16/12/2013
--Versión del script: 01
declare
lv_valor_incremental number(1):= 1;
lc_valor_maximo CONSTANT number(1):= 5;
begin
-- Loop While lv_valor_incremental <= lc_valor_maximo
while (lv_valor_incremental <= lc_valor_maximo) loop
begin
dbms_output.put_line(lv_valor_incremental);
lv_valor_incremental := lv_valor_incremental + 1;
end;
end loop; -- Loop While lv_valor_incremental <= lc_valor_maximo
end;
Ciclo Loop
 Se podría emplear cuando no se tiene conocimiento de

interacciones repetitivas que se requieren para las
sentencias que contendrá el ciclo. Cuando se requiere
una finalización temprana del mismo y cuando se debe
de ejecutar al menos una vez.
 De su Script para el módulo 2 copie y peque el PL
anónimo: “Loop ciclo condicional de ejecución
condicionada y ejecutado al menos una vez.”.
 Analícelo y ejecútelo.
--Pl/SQl anónimo: Loop ciclo condicional de ejecución condicionada y ejecutado al menos una vez.
--Curso:
PL/SQL Básico
--Script:
Script_curso_PLSQL_Basico_m3_01
--Objetivo:
Instruir a los participantes del curso en el uso de While como ciclo condicionado.
--Autor:
Byron Quisquinay
--Fecha Elaboración: 16/12/2013
--Versión del script: 01
declare
lv_fecha_condicion date := sysdate+1;
lv_fecha_evaluar date := sysdate;
begin
-- Loop While lv_valor_incremental <= lc_valor_maximo
Loop
begin
dbms_output.put_line('Es: '||lv_fecha_evaluar||' Igual a: '||lv_fecha_condicion);
--Evaluación para la finalización del ciclo, si la fecha evaluada no es igual a la necesaria para la ejecución del
ciclo, entonces finalícelo.
if (lv_fecha_evaluar != lv_fecha_condicion) then
exit;
end if;
end;
end loop; -- Loop While lv_valor_incremental <= lc_valor_maximo
end;
Ejercitándonos un poco…
 Modifique el PL anónimo del ciclo FOR para que de 1 a

30 despliegue Sysdate + la variable del control del
ciclo.
 Modifique el PL anónimo del ciclo While para que
tenga la condición de fecha evaluada y fecha condición
del ciclo LOOP y que muestre el texto empleado del
ciclo LOOP.
 Realice cambios al PL anónimo del ciclo loop para que
imprima números del 1 al 25.
Tarea del Módulo 3
 PL anónimo 1: Construya un PL/SQL anónimo que de 1 a 5

muestre add_months(sysdate, iteracción de ciclo) y despliegue
como salida del script el resultado de esa adición de meses a la
fecha del Sistema en donde reside la Base de Datos.
 PL anónimo 2: La solución del apartado anterior, esta vez con
ciclo While.
 PL anónimo 3: ahora con ciclo LOOP.
 Cree un PL anónimo que: Bien, primero antes del PL inserte dos
productos más en su catálogo de productos de tarea 4 del
Módulo 1, además, inserte tres detalles más para la factura del
primer módulo con distintos códigos de producto, ahora haga un
ciclo FOR que vaya de 1 a la cantidad de datos en el detalle,
dentro del ciclo, vaya de detalle en detalle buscando el precio
para el producto y que actualice el total en base a la cantidad de
producto.
Tabla de Valoración para la tarea
Elemento Entregado

Puenteo

PL anónimo 1

20

PL anónimo 2

5

PL anónimo 3

5

PL anónimo 4

70

Más contenido relacionado

La actualidad más candente

Kim power point
Kim power pointKim power point
Kim power point
20513250
 
Programación concurrente
Programación concurrenteProgramación concurrente
Programación concurrente
carlos Salazar
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
AcristyM
 
niveles de ejecución arranque y parada de los servicios
niveles de ejecución arranque y parada de los serviciosniveles de ejecución arranque y parada de los servicios
niveles de ejecución arranque y parada de los servicios
Carlos Calderon Castro
 
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Maztherprozh
 

La actualidad más candente (19)

Estructuras de control repetitivo
Estructuras de control repetitivoEstructuras de control repetitivo
Estructuras de control repetitivo
 
preparedstatement
preparedstatementpreparedstatement
preparedstatement
 
Kim power point
Kim power pointKim power point
Kim power point
 
Programación concurrente
Programación concurrenteProgramación concurrente
Programación concurrente
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
Procesos linux
Procesos linuxProcesos linux
Procesos linux
 
Ciclos
CiclosCiclos
Ciclos
 
niveles de ejecución arranque y parada de los servicios
niveles de ejecución arranque y parada de los serviciosniveles de ejecución arranque y parada de los servicios
niveles de ejecución arranque y parada de los servicios
 
PROGRAMACIÓN PARALELA
PROGRAMACIÓN PARALELAPROGRAMACIÓN PARALELA
PROGRAMACIÓN PARALELA
 
El futuro de PHP
El futuro de PHPEl futuro de PHP
El futuro de PHP
 
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
Estructurabsicadeunprogramaendevc 140605195118-phpapp02(2)
 
Sincronización de Procesos
Sincronización de ProcesosSincronización de Procesos
Sincronización de Procesos
 
Framework
FrameworkFramework
Framework
 
Forms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresForms 10g procedimientos y cursores
Forms 10g procedimientos y cursores
 
CICLO FOR
CICLO FORCICLO FOR
CICLO FOR
 
Yungán geovanny bdii_t7
Yungán geovanny bdii_t7Yungán geovanny bdii_t7
Yungán geovanny bdii_t7
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 

Destacado

Ute lourdes salazar estrategias de emprendimientos
Ute lourdes salazar estrategias de emprendimientosUte lourdes salazar estrategias de emprendimientos
Ute lourdes salazar estrategias de emprendimientos
melanialourdessalazar
 
Desmascarandoodeusdebabilonia 111127063856-phpapp02
Desmascarandoodeusdebabilonia 111127063856-phpapp02Desmascarandoodeusdebabilonia 111127063856-phpapp02
Desmascarandoodeusdebabilonia 111127063856-phpapp02
O ÚLTIMO CHAMADO
 
Expressão popular maio 2013
Expressão popular maio  2013Expressão popular maio  2013
Expressão popular maio 2013
mariju1709
 
catálogo tresdenou 2014
catálogo tresdenou 2014catálogo tresdenou 2014
catálogo tresdenou 2014
Rafael Bravo
 
Lenguajes del amor
Lenguajes del amorLenguajes del amor
Lenguajes del amor
Luz Brenes
 

Destacado (20)

Alcoolismo
AlcoolismoAlcoolismo
Alcoolismo
 
Sistemas Informaticos
Sistemas InformaticosSistemas Informaticos
Sistemas Informaticos
 
Ute lourdes salazar estrategias de emprendimientos
Ute lourdes salazar estrategias de emprendimientosUte lourdes salazar estrategias de emprendimientos
Ute lourdes salazar estrategias de emprendimientos
 
Entretenimiento
EntretenimientoEntretenimiento
Entretenimiento
 
Tutorial rae certificacion_unad
Tutorial rae certificacion_unadTutorial rae certificacion_unad
Tutorial rae certificacion_unad
 
¿Como reciclamos EL PAPEL?
¿Como reciclamos EL PAPEL?¿Como reciclamos EL PAPEL?
¿Como reciclamos EL PAPEL?
 
Aplicaciones de la información de la medicina
Aplicaciones de la información de la medicinaAplicaciones de la información de la medicina
Aplicaciones de la información de la medicina
 
Desmascarandoodeusdebabilonia 111127063856-phpapp02
Desmascarandoodeusdebabilonia 111127063856-phpapp02Desmascarandoodeusdebabilonia 111127063856-phpapp02
Desmascarandoodeusdebabilonia 111127063856-phpapp02
 
Felices fiestas patrias
Felices fiestas patriasFelices fiestas patrias
Felices fiestas patrias
 
U3 t2 aa1 césar cabrera
U3 t2 aa1 césar cabreraU3 t2 aa1 césar cabrera
U3 t2 aa1 césar cabrera
 
Historia de chile 054
Historia de  chile 054Historia de  chile 054
Historia de chile 054
 
Catalohue Montre Maserati 2014
Catalohue Montre Maserati 2014Catalohue Montre Maserati 2014
Catalohue Montre Maserati 2014
 
Expressão popular maio 2013
Expressão popular maio  2013Expressão popular maio  2013
Expressão popular maio 2013
 
Direitos autorais
Direitos autoraisDireitos autorais
Direitos autorais
 
Monologos testimoniales - TxI 2005-2007
Monologos testimoniales - TxI 2005-2007Monologos testimoniales - TxI 2005-2007
Monologos testimoniales - TxI 2005-2007
 
catálogo tresdenou 2014
catálogo tresdenou 2014catálogo tresdenou 2014
catálogo tresdenou 2014
 
8-26-14 hidden treasure bazaar presentation
8-26-14 hidden treasure bazaar presentation8-26-14 hidden treasure bazaar presentation
8-26-14 hidden treasure bazaar presentation
 
Lenguajes del amor
Lenguajes del amorLenguajes del amor
Lenguajes del amor
 
Scratch extension
Scratch extensionScratch extension
Scratch extension
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografías
 

Similar a Curso de pl sql básico

Similar a Curso de pl sql básico (20)

Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Practicas 2016
Practicas 2016Practicas 2016
Practicas 2016
 
Saula ana bdii_t7
Saula ana bdii_t7Saula ana bdii_t7
Saula ana bdii_t7
 
Cómo y para qúe usar un ciclo do while en c++
Cómo y para qúe usar un ciclo do while en c++Cómo y para qúe usar un ciclo do while en c++
Cómo y para qúe usar un ciclo do while en c++
 
taller de tecnologia .pdf
taller de tecnologia .pdftaller de tecnologia .pdf
taller de tecnologia .pdf
 
taller de tecnologia .pdf
taller de tecnologia .pdftaller de tecnologia .pdf
taller de tecnologia .pdf
 
Benemérita universidad autónoma de puebla
Benemérita universidad autónoma de pueblaBenemérita universidad autónoma de puebla
Benemérita universidad autónoma de puebla
 
Tecnologia
Tecnologia Tecnologia
Tecnologia
 
Estructuras de control repetitivo
Estructuras de control repetitivoEstructuras de control repetitivo
Estructuras de control repetitivo
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Ciclos
CiclosCiclos
Ciclos
 
Trabajo de tecnología.pdf
Trabajo de tecnología.pdfTrabajo de tecnología.pdf
Trabajo de tecnología.pdf
 
Trabajo de tecnología.pdf
Trabajo de tecnología.pdfTrabajo de tecnología.pdf
Trabajo de tecnología.pdf
 
Trabajo de tecnología
Trabajo de tecnologíaTrabajo de tecnología
Trabajo de tecnología
 
estructura de programación
estructura de programación estructura de programación
estructura de programación
 
Practicas 2016
Practicas 2016Practicas 2016
Practicas 2016
 
Sql Procedural
Sql ProceduralSql Procedural
Sql Procedural
 
ESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVASESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVAS
 
Estructuras básicas.docx
Estructuras básicas.docxEstructuras básicas.docx
Estructuras básicas.docx
 

Más de Byron Quisquinay

101 queries sql aplicado - respuestas
101 queries  sql aplicado - respuestas101 queries  sql aplicado - respuestas
101 queries sql aplicado - respuestas
Byron Quisquinay
 

Más de Byron Quisquinay (12)

Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Manual del curso de sql fundamentos y práctica
Manual del curso de sql   fundamentos y prácticaManual del curso de sql   fundamentos y práctica
Manual del curso de sql fundamentos y práctica
 
101 queries sql aplicado - respuestas
101 queries  sql aplicado - respuestas101 queries  sql aplicado - respuestas
101 queries sql aplicado - respuestas
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
 
Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo
 
Comprendiendo RUP
Comprendiendo   RUPComprendiendo   RUP
Comprendiendo RUP
 
Casos de uso qué - cómo... por byron quisquinay
Casos de uso   qué - cómo... por byron quisquinayCasos de uso   qué - cómo... por byron quisquinay
Casos de uso qué - cómo... por byron quisquinay
 
Desarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación InformáticaDesarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
 

Último

Último (20)

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 

Curso de pl sql básico

  • 2. Ciclos  Como parte de los lenguajes de programación contamos con herramientas para tareas repetitivas, para ello empleamos Ciclos o bucles. PL/SQL nos ofrece los ciclos:  FOR  LOOP  WHILE
  • 3. ¿Como decidir cuándo usar cuál de estas sentencias de proceso en ciclo repetitivo?  Ciclo numérico FOR: Se recomienda utilizarlo cuando se tiene claro las veces de interacción necesarias para el proceso de las sentencias que contendrá. Entre un valor mínimo y un máximo (por ejemplo: de 1 a 10 veces). Y que su ejecución no será interrumpida (finalizada) antes de esas interacciones. Excepto claro cuando se genere una excepción.  Used cuenta con el script: Script_curso_PLSQL_Basico_m3_01.sql  Seleccione de dicho script el PL anónimo: ‘For como ciclo controlado’. Cópielo y péguelo a su herramienta para ejecución de SQL y PL/SQL.  Analíselo y ejecútelo.
  • 4. --Pl/SQl anónimo: For como ciclo controlado --Curso: PL/SQL Básico --Script: Script_curso_PLSQL_Basico_m3_01 --Objetivo: Instruir a los participantes del curso en el uso de FOR como ciclo controlado. --Autor: Byron Quisquinay --Fecha Elaboración: 16/12/2013 --Versión del script: 01 declare begin for ciclo_for in 1..10 loop begin dbms_output.put_line(ciclo_for); end; end loop; --ciclo_for end;
  • 5. Ciclo condicional WHILE  Se podría emplear cuando no se tiene conocimiento de interacciones repetitivas que se requieren para las sentencias que contendrá el ciclo. Cuando se requiere una finalización condicionada de las interacciones del ciclo y que no se ejecute ni una vez más según la condición.  De su Script para el módulo 2 copie y peque el PL anónimo: “While ciclo condicional.”.  Analícelo y ejecútelo
  • 6. --Pl/SQl anónimo: While ciclo condicional. --Curso: PL/SQL Básico --Script: Script_curso_PLSQL_Basico_m3_01 --Objetivo: Instruir a los participantes del curso en el uso de While como ciclo condicionado. --Autor: Byron Quisquinay --Fecha Elaboración: 16/12/2013 --Versión del script: 01 declare lv_valor_incremental number(1):= 1; lc_valor_maximo CONSTANT number(1):= 5; begin -- Loop While lv_valor_incremental <= lc_valor_maximo while (lv_valor_incremental <= lc_valor_maximo) loop begin dbms_output.put_line(lv_valor_incremental); lv_valor_incremental := lv_valor_incremental + 1; end; end loop; -- Loop While lv_valor_incremental <= lc_valor_maximo end;
  • 7. Ciclo Loop  Se podría emplear cuando no se tiene conocimiento de interacciones repetitivas que se requieren para las sentencias que contendrá el ciclo. Cuando se requiere una finalización temprana del mismo y cuando se debe de ejecutar al menos una vez.  De su Script para el módulo 2 copie y peque el PL anónimo: “Loop ciclo condicional de ejecución condicionada y ejecutado al menos una vez.”.  Analícelo y ejecútelo.
  • 8. --Pl/SQl anónimo: Loop ciclo condicional de ejecución condicionada y ejecutado al menos una vez. --Curso: PL/SQL Básico --Script: Script_curso_PLSQL_Basico_m3_01 --Objetivo: Instruir a los participantes del curso en el uso de While como ciclo condicionado. --Autor: Byron Quisquinay --Fecha Elaboración: 16/12/2013 --Versión del script: 01 declare lv_fecha_condicion date := sysdate+1; lv_fecha_evaluar date := sysdate; begin -- Loop While lv_valor_incremental <= lc_valor_maximo Loop begin dbms_output.put_line('Es: '||lv_fecha_evaluar||' Igual a: '||lv_fecha_condicion); --Evaluación para la finalización del ciclo, si la fecha evaluada no es igual a la necesaria para la ejecución del ciclo, entonces finalícelo. if (lv_fecha_evaluar != lv_fecha_condicion) then exit; end if; end; end loop; -- Loop While lv_valor_incremental <= lc_valor_maximo end;
  • 9. Ejercitándonos un poco…  Modifique el PL anónimo del ciclo FOR para que de 1 a 30 despliegue Sysdate + la variable del control del ciclo.  Modifique el PL anónimo del ciclo While para que tenga la condición de fecha evaluada y fecha condición del ciclo LOOP y que muestre el texto empleado del ciclo LOOP.  Realice cambios al PL anónimo del ciclo loop para que imprima números del 1 al 25.
  • 10. Tarea del Módulo 3  PL anónimo 1: Construya un PL/SQL anónimo que de 1 a 5 muestre add_months(sysdate, iteracción de ciclo) y despliegue como salida del script el resultado de esa adición de meses a la fecha del Sistema en donde reside la Base de Datos.  PL anónimo 2: La solución del apartado anterior, esta vez con ciclo While.  PL anónimo 3: ahora con ciclo LOOP.  Cree un PL anónimo que: Bien, primero antes del PL inserte dos productos más en su catálogo de productos de tarea 4 del Módulo 1, además, inserte tres detalles más para la factura del primer módulo con distintos códigos de producto, ahora haga un ciclo FOR que vaya de 1 a la cantidad de datos en el detalle, dentro del ciclo, vaya de detalle en detalle buscando el precio para el producto y que actualice el total en base a la cantidad de producto.
  • 11. Tabla de Valoración para la tarea Elemento Entregado Puenteo PL anónimo 1 20 PL anónimo 2 5 PL anónimo 3 5 PL anónimo 4 70