semana 3 estructuras de control
TRANSCRIPT
![Page 1: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/1.jpg)
Estructuras de ControlSemana 3/1
![Page 2: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/2.jpg)
Aprendizajes esperados
• Construye procedimientos almacenados, triggers de base de datos, cursores y funciones que ayuden o implementen directamente soluciones a la lógica de negocio recogida en la captura de requerimientos de un sistema
![Page 3: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/3.jpg)
Conceptos Claves
• En PL/SQL existen estructuras que controlan el flujo de la información
![Page 4: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/4.jpg)
Estructura de Control IF
• Sintáxis:– IF <condición> THEN
– -- Código
– ELSIF <condición> THEN
– -- Código
– ELSE
– -- Código
– END IF;
![Page 5: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/5.jpg)
Ejemplo uso de estructura IF
![Page 6: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/6.jpg)
Estructura de control CASE• Sintaxis:
CASE variable
WHEN valor 1 THEN – Código
WHEN valor 2 THEN – Código
WHEN valor 3 THEN – Código
ELSE -- Código
END CASE;
• La estructura de control CASE también puede usarse en una sentencia SELECT o asignar su resultado a una variable (Variable:= case….)
![Page 7: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/7.jpg)
Ejemplo uso de estructura CASE
![Page 8: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/8.jpg)
Estructura de Control GOTO
• La sentencia GOTO permite desviar el flujo de ejecución a la etiqueta indicada
• Las etiquetas en el código se señalan con los símbolos << y >>
• Sintaxis:
GOTO etiqueta
![Page 9: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/9.jpg)
Ejemplo uso de estructura GOTO
![Page 10: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/10.jpg)
Consideraciones a la Estructura de Control GOTO
• No es muy recomendable el uso de esta sentencia, ya que el abuso en su uso hace mas difícil el seguimiento del código para su depuración (rompe lo señalado para un lenguaje estructurado)
• Existen restricciones en su uso para algunos casos particulares, como por ejemplo, junto a la sentencia IF
![Page 11: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/11.jpg)
Ejemplo de consideraciones a la estructura de control GOTO
![Page 12: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/12.jpg)
Sentencias para ciclos
• PL/SQL ofrece tres formas para realizar ciclos:• LOOP: Repite los ciclos infinitamente hasta
que encuentra la instrucción EXIT• WHILE: Repite los ciclos mientras la
condición que lo acompaña sea verdadera• FOR: Repite los ciclos tantas veces como lo
señalen sus variables de inicio y termino
![Page 13: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/13.jpg)
Sentencia LOOP
• Sintaxis 1:LOOP
-- Código
If <condición> then
EXIT;
End if;
END LOOP;
• Sintaxis 2:LOOP
-- Código
EXIT WHEN <condición>;
END LOOP;
![Page 14: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/14.jpg)
Ejemplo uso sentencia LOOP
![Page 15: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/15.jpg)
Sentencia WHILE
• Sintaxis:WHILE <condicion> LOOP
-- Código
END LOOP;
El ciclo se repite mientras <condición> sea verdadera
![Page 16: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/16.jpg)
Ejemplo uso sentencia WHILE
![Page 17: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/17.jpg)
Sentencia FOR
• Sintaxis:FOR contador IN [REVERSE] inicio..final LOOP
-- Código
END LOOP;
Con la opción REVERSE el ciclo se ejecuta en forma inversa
![Page 18: Semana 3 estructuras de control](https://reader033.vdocuments.co/reader033/viewer/2022042512/55ae5b791a28abb40e8b4591/html5/thumbnails/18.jpg)
Ejemplo uso sentencia FOR
La variable j asume la estructura fila de la tabla persona (recordar el concepto de %rowtype)