SlideShare una empresa de Scribd logo
1 de 18
PL/SQL Sesión 2 Estructuras de Control Ing.  Mauricio Bedoya
Estructuras de Control Se puede cambiar el flujo lógico de declaraciones dentro del bloque de PL-SQL con un número de estructuras del control.  Existen dos tipos de estructuras del control en PL-SQL: o Constructores condicionales (IF) o Estructuras de control (LOOP) Existen tres formas de declarar constructores condicionales: o IF – THEN – END – IF o IF – THEN – ELSE – END – IF o IF – THEN – ELSEIF – END – IF
Condicionales  Cláusula IF La estructura para la cláusula IF en PL-SQL es similar a la estructura de una cláusula IF en otro lenguaje procedural. Esta cláusula permite que PL-SQL realice las acciones  selectivas basadas en condiciones.
Sintaxis Sintaxis:  Condición:  es una variable o una expresión booleana (TRUE, FALSE, o NULL) (se asocia a una secuencia de declaraciones, se ejecuta solamente sí la expresión es TRUE)  THEN:  es una cláusula que asocia la expresión booleana que la precede con la secuencia de declaraciones que la sigue.  Declaraciones:  puede ser la declaración de una o más declaraciones de PL-SQL o SQL. ELSIF:  es una palabra clave que introduce una expresión booleana (si la primera condición es FALSE o NULL entonces la palabra clave de ELSIF introduce condiciones adicionales.)  ELSE:  es una palabra clave se ejecuta si el control la alcanza, y realiza la secuencia de declaraciones que la siguen
Ejemplo Cláusula IF simple ... IF v_ename = ‘MILLER’ THEN v_job := ‘SALESMAN’  v_deptno := 35; v_new_comm := sal * 0.20; END IF; ... En el ejemplo PL-SQL realiza 3 acciones solo si la condición es TRUE. Si la condición es FALSE o NULL, PL-SQL no hace caso de ellas. Se pueden realizar acciones basadas en condiciones que son satisfechas.
ELSIF Al escribir el código, hay que recordar el deletreo de las palabras claves:  ELSIF es una palabra.  END IF son dos palabras.  Si la condición booleana que controla es TRUE, la secuencia asociada de declaraciones se ejecuta; si la condición booleana que controla es FALSE o NULL, la secuencia asociada de declaraciones no se ejecuta. Se permite cualquier número de  cláusulas ELSIF.  Puede haber una cláusula ELSE.  Cláusula IF – THEN  –  ELSE Si la condición es FALSA o NULL, se puede usar la cláusula ELSE para realizar otras acciones.
ELSIF Cláusula IF – THEN – ELSE ... IF condicion1 THEN declaracion1; ELSIF condicion2 THEN declaración2; ELSEIF declaración3; END IF; ... Cualquier acción para el resultado de la primera declaración IF puede incluir mas declaraciones IF antes de realizar acciones específicas. Las cláusulas THEN y ELSE pueden incluir declaraciones IF. Cada declaración de un IF debe terminar con un END IF.  Cláusula IF – THEN – ELSIF Es posible utilizar la cláusula ELSIF en vez de declarar un IF. El código es más fácil de leer y de entender, y la lógica se identifica claramente. Si la acción en la cláusula ELSE consiste puramente por otra declaración IF, es más conveniente utilizar la cláusula ELSIF.
CICLOS Control Iterativo: Estatutos LOOP PL-SQL proporcionan un número de facilidades para estructurar ciclos que permitan repetir una declaración o una secuencia para múltiples tiempos.  Las construcciones de colocación son el segundo tipo de estructura del control:  LOOP  básico para proporcionar acciones repetitivas sin condiciones FOR  ciclos para proporcionar el control iterativo de las acciones basadas en un contador WHILE  ciclos para proporcionar el control iterativo de las acciones basadas en una condición EXIT  para terminar ciclos
LOOP SIMPLE LOOP básico La forma más simple es la declaración de un LOOP básico, que incluye una secuencia de declaraciones entre las palabras claves LOOP y END LOOP. El flujo de la ejecución se termina cuando llega a una declaración END LOOP, y regresa el control a la declaración correspondiente que se refiera a este LOOP. Un loop básico  permite que este sea ejecutado por lo menos una vez. Sin la declaración de EXIT, el loop sería infinito.
CICLOS La declaración EXIT Se puede terminar un loop usando la declaración EXIT. El control pasa a la siguiente declaración después de la declaración END LOOP. Se puede publicar  EXIT como cualquier otra acción dentro de una declaración IF o como declaración independiente dentro del loop. La declaración EXIT se debe poner dentro de un loop. En el último caso, se puede unir una cláusula WHEN para permitir la terminación condicional del loop. Cuando la declaración EXIT es encontrada, la condición en la cláusula WHEN es evaluada. Si la condición es TRUE, el loop se termina y pasa el control a la siguiente declaración después del loop. Un loop básico puede contener múltiples declaraciones EXIT.
CICLOS
FOR LOOP FOR LOOP FOR este loop tienen la misma estructura general que el loop básico. Además, tienen un orden de control antes de la palabra clave del ciclo para determinar el número de  iteraciones que debe realizar en PL-SQL.
FOR LOOP
SINTAXIS Sintaxis: contador:  es un número entero implícito declarado que se incrementa o decrementa automáticamente (decrementa si se utiliza la palabra clave REVERSE) por 1 en cada iteración del loop hasta el límite superior o inferior que se indique.  REVERSE:  causa opuestamente al decremento por cada iteración del límite superior o inferior. limite_inferior:  especifica el límite inferior para el rango de valores del contador limite _superior:  especifica el límite superior para la el rango valores del contador
WHILE LOOP WHILE LOOP Se puede usar el WHILE loop para repetir una declaración hasta que la condición es TRUE. La condición se evalúa en el comienzo de cada iteración. El loop termina cuando la condición es FALSE. Si la condición es FALSE en el comienzo del loop, entonces no se realiza ninguna otra iteración.
WHILE LOOP
WHILE LOOP Sintaxis: condicion:  es una variable o una expresión booleana (TRUE, FALSE, o NULL). declaracion:   puede ser uno o más declaraciones PL-SQL o SQL. Si las variables implicadas en las condiciones no cambian durante el cuerpo del loop, entonces la condición siguen siendo TRUE y el loop no termina. Si la condición es NULL, el loop sobrepasado y pasa el control a la siguiente declaración.
Ejemplos Escriba un script con el siguiente ejemplo: Declare v_c Binary_integer:=1: BEGIN While v_c <=50 LOOP INSERT INTO TEMPORAL VALUES(v_c, 'Indice del bucle'); v_c:=v_c+1; END LOOP; END; / Describa que hace el script.

Más contenido relacionado

La actualidad más candente

Michell instrucciones de ontrol
Michell instrucciones de ontrolMichell instrucciones de ontrol
Michell instrucciones de ontrolroyimar
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual BasicVane Borjas
 
Presentación de estructuras de control en la programación
Presentación de estructuras de control en la programaciónPresentación de estructuras de control en la programación
Presentación de estructuras de control en la programaciónLuisRestan1
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlAntony437109
 
Presentación 8
Presentación 8Presentación 8
Presentación 8Sizauwu
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloqueTensor
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlJazmin Acuña
 
Las sentencias de_control[1]
Las sentencias de_control[1]Las sentencias de_control[1]
Las sentencias de_control[1]grachika
 
Expocision de visual basic.. lara antamba
Expocision de visual basic.. lara antambaExpocision de visual basic.. lara antamba
Expocision de visual basic.. lara antambaStalyn Cruz
 
Sentencias de control visual basic
Sentencias de control visual basicSentencias de control visual basic
Sentencias de control visual basicCarloos Octaavio
 
programacion por capas
programacion por capasprogramacion por capas
programacion por capasluisitoman
 
Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)José Toro
 
Funcion del lex
Funcion del lexFuncion del lex
Funcion del lexPaul MG
 
TEMA Nº 6: SENTENCIAS DE CONTROL DE FLUJO EN JAVA I
TEMA Nº 6: SENTENCIAS DE CONTROL DE FLUJO EN JAVA ITEMA Nº 6: SENTENCIAS DE CONTROL DE FLUJO EN JAVA I
TEMA Nº 6: SENTENCIAS DE CONTROL DE FLUJO EN JAVA IAnyeni Garay
 

La actualidad más candente (20)

Michell instrucciones de ontrol
Michell instrucciones de ontrolMichell instrucciones de ontrol
Michell instrucciones de ontrol
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
 
Presentación de estructuras de control en la programación
Presentación de estructuras de control en la programaciónPresentación de estructuras de control en la programación
Presentación de estructuras de control en la programación
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Presentación 8
Presentación 8Presentación 8
Presentación 8
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloque
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Ciclos en java script
Ciclos en java scriptCiclos en java script
Ciclos en java script
 
Estructuras de wps office
Estructuras de wps officeEstructuras de wps office
Estructuras de wps office
 
Instriccion while
Instriccion whileInstriccion while
Instriccion while
 
Las sentencias de_control[1]
Las sentencias de_control[1]Las sentencias de_control[1]
Las sentencias de_control[1]
 
Expocision de visual basic.. lara antamba
Expocision de visual basic.. lara antambaExpocision de visual basic.. lara antamba
Expocision de visual basic.. lara antamba
 
Sentencias de control visual basic
Sentencias de control visual basicSentencias de control visual basic
Sentencias de control visual basic
 
Gestión de Excepciones
Gestión de ExcepcionesGestión de Excepciones
Gestión de Excepciones
 
programacion por capas
programacion por capasprogramacion por capas
programacion por capas
 
Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)
 
Funcion del lex
Funcion del lexFuncion del lex
Funcion del lex
 
TEMA Nº 6: SENTENCIAS DE CONTROL DE FLUJO EN JAVA I
TEMA Nº 6: SENTENCIAS DE CONTROL DE FLUJO EN JAVA ITEMA Nº 6: SENTENCIAS DE CONTROL DE FLUJO EN JAVA I
TEMA Nº 6: SENTENCIAS DE CONTROL DE FLUJO EN JAVA I
 
Transacciones
TransaccionesTransacciones
Transacciones
 

Destacado

AYUNTAMIENTO ERENTERRIA: ENERGÍA Y AYUNTAMIENTOS: AHORRO Y NUEVOS INGRESOS PU...
AYUNTAMIENTO ERENTERRIA: ENERGÍA Y AYUNTAMIENTOS: AHORRO Y NUEVOS INGRESOS PU...AYUNTAMIENTO ERENTERRIA: ENERGÍA Y AYUNTAMIENTOS: AHORRO Y NUEVOS INGRESOS PU...
AYUNTAMIENTO ERENTERRIA: ENERGÍA Y AYUNTAMIENTOS: AHORRO Y NUEVOS INGRESOS PU...Javier Buron Cuadrado
 
Latin CACS 2009 Carlos Chalico
Latin CACS 2009 Carlos ChalicoLatin CACS 2009 Carlos Chalico
Latin CACS 2009 Carlos ChalicoCarlos Chalico
 
Mesopotamia HAV1 EARI 2015
Mesopotamia HAV1 EARI 2015Mesopotamia HAV1 EARI 2015
Mesopotamia HAV1 EARI 2015Guadalupe Odiard
 
Recupera
RecuperaRecupera
RecuperaMEP
 
Recupera
RecuperaRecupera
RecuperaMEP
 
CONOCIENDO LINKEDIN Y MEJORANDO ENGAGEMENT
CONOCIENDO LINKEDIN Y MEJORANDO ENGAGEMENTCONOCIENDO LINKEDIN Y MEJORANDO ENGAGEMENT
CONOCIENDO LINKEDIN Y MEJORANDO ENGAGEMENTLuis Chaquea
 
Riesgos legales,marketing online,
Riesgos legales,marketing online,Riesgos legales,marketing online,
Riesgos legales,marketing online,Luis Chaquea
 
ARQUINSET 2009: LA ACCION PUBLICA LOCAL EN MATERIA DE VIVIENDA DE LA CIUDAD D...
ARQUINSET 2009: LA ACCION PUBLICA LOCAL EN MATERIA DE VIVIENDA DE LA CIUDAD D...ARQUINSET 2009: LA ACCION PUBLICA LOCAL EN MATERIA DE VIVIENDA DE LA CIUDAD D...
ARQUINSET 2009: LA ACCION PUBLICA LOCAL EN MATERIA DE VIVIENDA DE LA CIUDAD D...Javier Buron Cuadrado
 
Modelo pedagógico
Modelo pedagógicoModelo pedagógico
Modelo pedagógicoMEP
 
Encore une bonne idée de cowboy
Encore une bonne idée de cowboyEncore une bonne idée de cowboy
Encore une bonne idée de cowboytirelire
 
Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1Ruau Mickael
 
Presentacion Servicios Emercadeo 2010
Presentacion Servicios Emercadeo 2010Presentacion Servicios Emercadeo 2010
Presentacion Servicios Emercadeo 2010Luis Chaquea
 
Ingreso Webinars Mercarnew
Ingreso Webinars MercarnewIngreso Webinars Mercarnew
Ingreso Webinars MercarnewLuis Chaquea
 
Consultas en access
Consultas en accessConsultas en access
Consultas en accessSara Silva
 
INSTITUTO 25M: DE LA EMERGENCIA CONTRA LOS DESAHUCIOS A UNA NUEVA POLÍTICA DE...
INSTITUTO 25M: DE LA EMERGENCIA CONTRA LOS DESAHUCIOS A UNA NUEVA POLÍTICA DE...INSTITUTO 25M: DE LA EMERGENCIA CONTRA LOS DESAHUCIOS A UNA NUEVA POLÍTICA DE...
INSTITUTO 25M: DE LA EMERGENCIA CONTRA LOS DESAHUCIOS A UNA NUEVA POLÍTICA DE...Javier Buron Cuadrado
 

Destacado (20)

AYUNTAMIENTO ERENTERRIA: ENERGÍA Y AYUNTAMIENTOS: AHORRO Y NUEVOS INGRESOS PU...
AYUNTAMIENTO ERENTERRIA: ENERGÍA Y AYUNTAMIENTOS: AHORRO Y NUEVOS INGRESOS PU...AYUNTAMIENTO ERENTERRIA: ENERGÍA Y AYUNTAMIENTOS: AHORRO Y NUEVOS INGRESOS PU...
AYUNTAMIENTO ERENTERRIA: ENERGÍA Y AYUNTAMIENTOS: AHORRO Y NUEVOS INGRESOS PU...
 
Latin CACS 2009 Carlos Chalico
Latin CACS 2009 Carlos ChalicoLatin CACS 2009 Carlos Chalico
Latin CACS 2009 Carlos Chalico
 
B+m
B+mB+m
B+m
 
Mesopotamia HAV1 EARI 2015
Mesopotamia HAV1 EARI 2015Mesopotamia HAV1 EARI 2015
Mesopotamia HAV1 EARI 2015
 
Recupera
RecuperaRecupera
Recupera
 
Cuerpo humano
Cuerpo humanoCuerpo humano
Cuerpo humano
 
Compétences numériques
Compétences numériquesCompétences numériques
Compétences numériques
 
Recupera
RecuperaRecupera
Recupera
 
My talking book
My talking bookMy talking book
My talking book
 
CONOCIENDO LINKEDIN Y MEJORANDO ENGAGEMENT
CONOCIENDO LINKEDIN Y MEJORANDO ENGAGEMENTCONOCIENDO LINKEDIN Y MEJORANDO ENGAGEMENT
CONOCIENDO LINKEDIN Y MEJORANDO ENGAGEMENT
 
Les symboles
Les symbolesLes symboles
Les symboles
 
Riesgos legales,marketing online,
Riesgos legales,marketing online,Riesgos legales,marketing online,
Riesgos legales,marketing online,
 
ARQUINSET 2009: LA ACCION PUBLICA LOCAL EN MATERIA DE VIVIENDA DE LA CIUDAD D...
ARQUINSET 2009: LA ACCION PUBLICA LOCAL EN MATERIA DE VIVIENDA DE LA CIUDAD D...ARQUINSET 2009: LA ACCION PUBLICA LOCAL EN MATERIA DE VIVIENDA DE LA CIUDAD D...
ARQUINSET 2009: LA ACCION PUBLICA LOCAL EN MATERIA DE VIVIENDA DE LA CIUDAD D...
 
Modelo pedagógico
Modelo pedagógicoModelo pedagógico
Modelo pedagógico
 
Encore une bonne idée de cowboy
Encore une bonne idée de cowboyEncore une bonne idée de cowboy
Encore une bonne idée de cowboy
 
Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1
 
Presentacion Servicios Emercadeo 2010
Presentacion Servicios Emercadeo 2010Presentacion Servicios Emercadeo 2010
Presentacion Servicios Emercadeo 2010
 
Ingreso Webinars Mercarnew
Ingreso Webinars MercarnewIngreso Webinars Mercarnew
Ingreso Webinars Mercarnew
 
Consultas en access
Consultas en accessConsultas en access
Consultas en access
 
INSTITUTO 25M: DE LA EMERGENCIA CONTRA LOS DESAHUCIOS A UNA NUEVA POLÍTICA DE...
INSTITUTO 25M: DE LA EMERGENCIA CONTRA LOS DESAHUCIOS A UNA NUEVA POLÍTICA DE...INSTITUTO 25M: DE LA EMERGENCIA CONTRA LOS DESAHUCIOS A UNA NUEVA POLÍTICA DE...
INSTITUTO 25M: DE LA EMERGENCIA CONTRA LOS DESAHUCIOS A UNA NUEVA POLÍTICA DE...
 

Similar a Control

Estructuras de control C++
Estructuras de control C++Estructuras de control C++
Estructuras de control C++LOANNELMARIN
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlparada137
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlparada137
 
Estructuras de control
Estructuras de  controlEstructuras de  control
Estructuras de controlmellcv
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de controlvay82
 
If then o if then else
If then o if then elseIf then o if then else
If then o if then elselaura cortez
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlLic_Vera
 
Programaciòn Estructurada
Programaciòn EstructuradaProgramaciòn Estructurada
Programaciòn EstructuradaFernanda-Guzman
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)José Toro
 
Estructura de control repetitiva
Estructura de control repetitivaEstructura de control repetitiva
Estructura de control repetitivavillandri pachco
 
EXPOSICION BIFURCACIONES.docx.pptx
EXPOSICION BIFURCACIONES.docx.pptxEXPOSICION BIFURCACIONES.docx.pptx
EXPOSICION BIFURCACIONES.docx.pptxVenusMaqiiansBarrios
 
Las estructuras de control en programación presentacion
Las estructuras de control en programación presentacionLas estructuras de control en programación presentacion
Las estructuras de control en programación presentacionOrangel4
 

Similar a Control (20)

Estructuras
EstructurasEstructuras
Estructuras
 
Estructuras de control C++
Estructuras de control C++Estructuras de control C++
Estructuras de control C++
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
1 clase de Ps /sql
    1  clase  de  Ps /sql     1  clase  de  Ps /sql
1 clase de Ps /sql
 
Estructuras de control
Estructuras de  controlEstructuras de  control
Estructuras de control
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de control
 
If then o if then else
If then o if then elseIf then o if then else
If then o if then else
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Programaciòn Estructurada
Programaciòn EstructuradaProgramaciòn Estructurada
Programaciòn Estructurada
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 
Actividad 20 xxxx
Actividad 20 xxxxActividad 20 xxxx
Actividad 20 xxxx
 
Estrucselecyrepet
EstrucselecyrepetEstrucselecyrepet
Estrucselecyrepet
 
Estructura de control repetitiva
Estructura de control repetitivaEstructura de control repetitiva
Estructura de control repetitiva
 
Aprendiendo de la sintaxiss
Aprendiendo de la sintaxissAprendiendo de la sintaxiss
Aprendiendo de la sintaxiss
 
Ciclos
CiclosCiclos
Ciclos
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
EXPOSICION BIFURCACIONES.docx.pptx
EXPOSICION BIFURCACIONES.docx.pptxEXPOSICION BIFURCACIONES.docx.pptx
EXPOSICION BIFURCACIONES.docx.pptx
 
Las estructuras de control en programación presentacion
Las estructuras de control en programación presentacionLas estructuras de control en programación presentacion
Las estructuras de control en programación presentacion
 

Más de Mauricio Bedoya (9)

Bi2021.pptx
Bi2021.pptxBi2021.pptx
Bi2021.pptx
 
Dashboard.pptx
Dashboard.pptxDashboard.pptx
Dashboard.pptx
 
Herramientas BigData.pptx
Herramientas BigData.pptxHerramientas BigData.pptx
Herramientas BigData.pptx
 
Objetivos
ObjetivosObjetivos
Objetivos
 
Trigger
TriggerTrigger
Trigger
 
Proceyfunc
ProceyfuncProceyfunc
Proceyfunc
 
Bloques
BloquesBloques
Bloques
 
Bloques
BloquesBloques
Bloques
 
Script
ScriptScript
Script
 

Control

  • 1. PL/SQL Sesión 2 Estructuras de Control Ing. Mauricio Bedoya
  • 2. Estructuras de Control Se puede cambiar el flujo lógico de declaraciones dentro del bloque de PL-SQL con un número de estructuras del control. Existen dos tipos de estructuras del control en PL-SQL: o Constructores condicionales (IF) o Estructuras de control (LOOP) Existen tres formas de declarar constructores condicionales: o IF – THEN – END – IF o IF – THEN – ELSE – END – IF o IF – THEN – ELSEIF – END – IF
  • 3. Condicionales Cláusula IF La estructura para la cláusula IF en PL-SQL es similar a la estructura de una cláusula IF en otro lenguaje procedural. Esta cláusula permite que PL-SQL realice las acciones selectivas basadas en condiciones.
  • 4. Sintaxis Sintaxis: Condición: es una variable o una expresión booleana (TRUE, FALSE, o NULL) (se asocia a una secuencia de declaraciones, se ejecuta solamente sí la expresión es TRUE) THEN: es una cláusula que asocia la expresión booleana que la precede con la secuencia de declaraciones que la sigue. Declaraciones: puede ser la declaración de una o más declaraciones de PL-SQL o SQL. ELSIF: es una palabra clave que introduce una expresión booleana (si la primera condición es FALSE o NULL entonces la palabra clave de ELSIF introduce condiciones adicionales.) ELSE: es una palabra clave se ejecuta si el control la alcanza, y realiza la secuencia de declaraciones que la siguen
  • 5. Ejemplo Cláusula IF simple ... IF v_ename = ‘MILLER’ THEN v_job := ‘SALESMAN’ v_deptno := 35; v_new_comm := sal * 0.20; END IF; ... En el ejemplo PL-SQL realiza 3 acciones solo si la condición es TRUE. Si la condición es FALSE o NULL, PL-SQL no hace caso de ellas. Se pueden realizar acciones basadas en condiciones que son satisfechas.
  • 6. ELSIF Al escribir el código, hay que recordar el deletreo de las palabras claves: ELSIF es una palabra. END IF son dos palabras. Si la condición booleana que controla es TRUE, la secuencia asociada de declaraciones se ejecuta; si la condición booleana que controla es FALSE o NULL, la secuencia asociada de declaraciones no se ejecuta. Se permite cualquier número de cláusulas ELSIF. Puede haber una cláusula ELSE. Cláusula IF – THEN – ELSE Si la condición es FALSA o NULL, se puede usar la cláusula ELSE para realizar otras acciones.
  • 7. ELSIF Cláusula IF – THEN – ELSE ... IF condicion1 THEN declaracion1; ELSIF condicion2 THEN declaración2; ELSEIF declaración3; END IF; ... Cualquier acción para el resultado de la primera declaración IF puede incluir mas declaraciones IF antes de realizar acciones específicas. Las cláusulas THEN y ELSE pueden incluir declaraciones IF. Cada declaración de un IF debe terminar con un END IF. Cláusula IF – THEN – ELSIF Es posible utilizar la cláusula ELSIF en vez de declarar un IF. El código es más fácil de leer y de entender, y la lógica se identifica claramente. Si la acción en la cláusula ELSE consiste puramente por otra declaración IF, es más conveniente utilizar la cláusula ELSIF.
  • 8. CICLOS Control Iterativo: Estatutos LOOP PL-SQL proporcionan un número de facilidades para estructurar ciclos que permitan repetir una declaración o una secuencia para múltiples tiempos. Las construcciones de colocación son el segundo tipo de estructura del control: LOOP básico para proporcionar acciones repetitivas sin condiciones FOR ciclos para proporcionar el control iterativo de las acciones basadas en un contador WHILE ciclos para proporcionar el control iterativo de las acciones basadas en una condición EXIT para terminar ciclos
  • 9. LOOP SIMPLE LOOP básico La forma más simple es la declaración de un LOOP básico, que incluye una secuencia de declaraciones entre las palabras claves LOOP y END LOOP. El flujo de la ejecución se termina cuando llega a una declaración END LOOP, y regresa el control a la declaración correspondiente que se refiera a este LOOP. Un loop básico permite que este sea ejecutado por lo menos una vez. Sin la declaración de EXIT, el loop sería infinito.
  • 10. CICLOS La declaración EXIT Se puede terminar un loop usando la declaración EXIT. El control pasa a la siguiente declaración después de la declaración END LOOP. Se puede publicar EXIT como cualquier otra acción dentro de una declaración IF o como declaración independiente dentro del loop. La declaración EXIT se debe poner dentro de un loop. En el último caso, se puede unir una cláusula WHEN para permitir la terminación condicional del loop. Cuando la declaración EXIT es encontrada, la condición en la cláusula WHEN es evaluada. Si la condición es TRUE, el loop se termina y pasa el control a la siguiente declaración después del loop. Un loop básico puede contener múltiples declaraciones EXIT.
  • 12. FOR LOOP FOR LOOP FOR este loop tienen la misma estructura general que el loop básico. Además, tienen un orden de control antes de la palabra clave del ciclo para determinar el número de iteraciones que debe realizar en PL-SQL.
  • 14. SINTAXIS Sintaxis: contador: es un número entero implícito declarado que se incrementa o decrementa automáticamente (decrementa si se utiliza la palabra clave REVERSE) por 1 en cada iteración del loop hasta el límite superior o inferior que se indique. REVERSE: causa opuestamente al decremento por cada iteración del límite superior o inferior. limite_inferior: especifica el límite inferior para el rango de valores del contador limite _superior: especifica el límite superior para la el rango valores del contador
  • 15. WHILE LOOP WHILE LOOP Se puede usar el WHILE loop para repetir una declaración hasta que la condición es TRUE. La condición se evalúa en el comienzo de cada iteración. El loop termina cuando la condición es FALSE. Si la condición es FALSE en el comienzo del loop, entonces no se realiza ninguna otra iteración.
  • 17. WHILE LOOP Sintaxis: condicion: es una variable o una expresión booleana (TRUE, FALSE, o NULL). declaracion: puede ser uno o más declaraciones PL-SQL o SQL. Si las variables implicadas en las condiciones no cambian durante el cuerpo del loop, entonces la condición siguen siendo TRUE y el loop no termina. Si la condición es NULL, el loop sobrepasado y pasa el control a la siguiente declaración.
  • 18. Ejemplos Escriba un script con el siguiente ejemplo: Declare v_c Binary_integer:=1: BEGIN While v_c <=50 LOOP INSERT INTO TEMPORAL VALUES(v_c, 'Indice del bucle'); v_c:=v_c+1; END LOOP; END; / Describa que hace el script.