Estructuras de control en PL/SQL

Estrcuturas de control de flujo

   En PL/SQL solo disponemos de la estructura condicional IF. Su sintaxis se muestra a continuación:

	
IF (expresion) THEN -- Instrucciones ELSIF (expresion) THEN -- Instrucciones ELSE -- Instrucciones END IF;

   Un aspecto a tener en cuenta es que la instrucción condicional anidada es ELSIF y no "ELSEIF".

Sentencia GOTO

    PL/SQL dispone de la sentencia GOTO. La sentencia GOTO desvia el flujo de ejecució a una determinada etiqueta.

    En PL/SQL las etiquetas se indican del siguiente modo: << etiqueta >>

    El siguiente ejemplo ilustra el uso de GOTO.


DECLARE
  flag NUMBER;
BEGIN
  flag :=1 ;
  IF (flag = 1) THEN
     GOTO paso2;    
  END IF;
<<paso1>>
         dbms_output.put_line('Ejecucion de paso 1');
<<paso2>>
         dbms_output.put_line('Ejecucion de paso 2');
END;

Bucles

   En PL/SQL tenemos a nuestra disposición los siguientes iteradores o bucles:

  • LOOP
  • WHILE
  • FOR

   El bucle LOOP, se repite tantas veces como sea necesario hasta que se fuerza su salida con la instrucción EXIT. Su sintaxis es la siguiente


LOOP -- Instrucciones IF (expresion) THEN -- Instrucciones EXIT; END IF; END LOOP;

   El bucle WHILE, se repite mientras que se cumpla expresion.


WHILE (expresion) LOOP -- Instrucciones END LOOP;

   El bucle FOR, se repite tanta veces como le indiquemos en los identificadores inicio y final.

	
FOR contador IN [REVERSE] inicio..final LOOP -- Instrucciones END LOOP;

    En el caso de especificar REVERSE  el bucle se recorre en sentido inverso.

Pedro  Herrarte  Sánchez
Estructuras de control en PL/SQL
Pedro Herrarte Sánchez

Pedro Herrarte, es consultor independiente, ofreciendo servicios de consultoría, análisis, desarrollo y formación. Posee mas de diez años de experiencia trabajando para las principales empresas de España. Es especialista en tecnologías .NET, entornos Web (ASP.NET, ASP.NET MVC,jQuery, HTML5), bases de datos (SQL Server y ORACLE) e integración de sistemas. Es experto en desarrollo (C#, VB.Net, T-SQL, PL/SQL, , ASP, CGI , C, Pro*C, Java, Essbase, Vignette, PowerBuilder y Visual Basic ...) y bases de datos (SQL Server y ORACLE). Pedro es MCP y MAP 2012, es fundador, diseñador y programador de www.devjoker.com..
Fecha de alta:01/04/2006
Última actualizacion:01/04/2006
Visitas totales:433680
Valorar el contenido:
Últimas consultas realizadas en los foros
Últimas preguntas sin contestar en los foros de devjoker.com