Está en la página 1de 7

ESTRUCTURAS DE CONTOL

11-AGOSTO-2022
1. IF..THEN-ELSIF..THEN-ELSE-END IF
• Existen tres formas de usar la sentencia
condicional IF:
• Evaluando una única condición (if-then)
• Más de una condición (elsif-then)
• Añadiendo una opción de acción por defecto en
case de qu no se cumpla ninguna condición de las
exigidas (else).
• Las clausulas ELSIF y ELSE son opcionales.
EJEMPLO:
• CREATE OR REPLACE PROCEDURE calificación(nota NUMBER) AS
• BEGIN
• IF nota> = 0 AND nota < 5 THEN
• DBMS_OUTPUT.PUT_LINE(‘Suspenso’);
• ELSIF nota > = 5 AND nota < 6 THEN
• DBMS_OUTPUT.PUT_LINE(‘Suficiente’);
• ELSIF nota > = 6 AND nota < 7 THEN
• DBMS_OUTPUT.PUT_LINE(‘Bien’);
• ELSIF nota > = 7 AND nota < 9 THEN
• DBMS_OUTPUT.PUT_LINE(‘Notable’);
• ELSIF nota > = 9 AND nota ≤ 10 THEN
• DBMS_OUTPUT.PUT_LINE(‘Sobresaliente’);
• ELSE
• DBMS_OUTPUT.PUT_LINE (‘Calificación errónea´);
• END IF;
• END;
•/
• El ejemplo anterior utiliza la función
• DBMS-.OUTPUT.PUT_-LINE
• Cuya función es la de mostrar por pantalla un mensaje visible al
usuario, para que este pueda verse, se debe activar la variable de
entorno SQL*Plus llamada SERVEROUTPUT, que es local a la sesión
actual en curso.
2. CASE-WHEN..THEN-ELSE-END CASE
•Es una estructura de control condicional que
permite ejecutar distintas sentencias ante
los distintos valores posibles de la misma
condición
•Existen diferentes formas de utilizar esta
estructura:
EJEMPLO – FORMA #1
• SET SERVEROUTPUT ON
• CREATE OR REPLACE PROCEDURE calificación(nota NUMBER) AS
• BEGIN
• CASE
• WHEN nota > = 0 AND nota < 5 THEN
• DBMS_OUTPUT.PUT_LINE(‘Suspenso’);
• WHEN nota > = 5 AND nota < 6 THEN
• DBMS_OUTPUT.PUT_LINE(‘Suficiente’);
• WHEN nota > = 6 AND nota < 7 THEN
• DBMS_OUTPUT.PUT_LINE(‘Bien’);
• WHEN nota > = 7 AND nota < 9 THEN
• DBMS_OUTPUT.PUT_LINE(‘Notable’);
• WHEN nota > = 9 AND nota < 10 THEN
• DBMS_OUTPUT.PUT_LINE(‘Sobresaliente’);
• ELSE DBMS_OUTPUT.PUT_LINE(‘Calificación errónea’);
• END CASE;
• END;
• /
EJEMPLO – FORMA #2
• SET SERVEROUTPUT ON
• CREATE OR REPLACE PROCEDURE calificación(nota VARCHAR) AS
• BEGIN
• CASE nota
• WHEN 'Suspenso′ THEN
• DBMS_OUTPUT.PUT_LINE(‘Calificación menor de 5. ’);
• WHEN 'Suficiente′ THEN
• DBMS_OUTPUT.PUT_LINE(‘Calificación entre 5 y 6’);
• WHEN 'Bien′ THEN
• DBMS_OUTPUT.PUT_LINE(‘Calificación entre 6 y 7’);
• WHEN ‘Notable’ THEN
• DBMS_OUTPUT.PUT_LINE(‘Calificación entre 7 y 9’);
• WHEN ‘Sobresaliente’ THEN
• DBMS_OUTPUT.PUT_LINE(‘Calificación entre 9 y 10’);
• ELSE DBMS_OUTPUT.PUT_LINE(‘Calificación errónea’);
• END CASE;
• END;
• /

También podría gustarte