Las sentencias de control en SQL Server permiten manejar el flujo lógico de las instrucciones a través de estructuras condicionales, secuenciales e iterativas. Las sentencias condicionales como IF-ELSE y CASE permiten ejecutar diferentes bloques de código según ciertas condiciones.
DECLARE
V_NUM NUMBER := 1;
BEGIN
WHILE V_NUM <= 13 LOOP
DBMS_OUTPUT.PUT_LINE('El valor V_NUM es :' || V_NUM);
V_NUM := V_NUM + 2.1;
END LOOP;
END;
Define the label:
label:
Alter the execution:
GOTO label
Nos permite cambiar la línea secuencial de la ejecución hacia una etiqueta. Las etiquetas son marcadas con los símbolos << y >>.
DECLARE
V_TOTAL NUMBER(9) := 0;
V_CONTADOR NUMBER(6) := 0;
BEGIN
Permite la ejecución de una o varias instrucciones. A diferencia de la sentencia FOR-LOOP, en WHILE-LOOP la ejecución se define a partir de una condición.
Permite especificar un rango de números enteros, finalmente ejecuta una secuencia de instrucciones para cada número entero dentro de la lista de números.
BEGIN
FOR i IN 1..8 LOOP
DBMS_OUTPUT.PUT_LINE('El número de ésta iteracción es:' || i);
END LOOP;
END;
DECLARE @cnt INT = 0;
WHILE @cnt < cnt_total
BEGIN
{...statements...}
SET @cnt = @cnt + 1;
END;
SENTENCIA GOTO
DECLARE
V_TIPO_TRABAJADOR VARCHAR2(2) := 'AP';
V_SALARIO NUMBER;
BEGIN
CASE
WHEN V_TIPO_TRABAJADOR = 'AP' THEN
V_SALARIO := 1500;
CASE [input_expression]
WHEN [eval_expression] THEN [output_expression]
…ELSE [output_expression]
END
Nos permite evaluar diferentes opciones, por cada opción se realiza una instrucción específica.
Nos permite ejecutar instrucciones condicionales sea como verdaderas o falsas.