Skip to content

Instantly share code, notes, and snippets.

@leopic
Created November 27, 2014 02:35
Show Gist options
  • Save leopic/1a74150370ded7efbfe4 to your computer and use it in GitHub Desktop.
Save leopic/1a74150370ded7efbfe4 to your computer and use it in GitHub Desktop.
CREATE OR REPLACE PROCEDURE CRIPTA
(
piso IN NUMBER,
techo IN NUMBER
)
IS
conteo_de_a NUMBER := 0;
conteo_de_e NUMBER := 0;
conteo_de_i NUMBER := 0;
conteo_de_o NUMBER := 0;
conteo_de_u NUMBER := 0;
vocal_mayor CHAR;
BEGIN
SELECT
SUM(VOCAL(nombre||apellido, 'a')) a,
SUM(VOCAL(nombre||apellido, 'e')) e,
SUM(VOCAL(nombre||apellido, 'i')) i,
SUM(VOCAL(nombre||apellido, 'o')) o,
SUM(VOCAL(nombre||apellido, 'u')) u
INTO conteo_de_a, conteo_de_e, conteo_de_i, conteo_de_o, conteo_de_u
FROM empleados
WHERE num_emp BETWEEN piso AND techo;
-- Tiene que haber una forma mejor de hacer esto
vocal_mayor := 'u';
IF conteo_de_a > conteo_de_e AND conteo_de_a > conteo_de_i AND conteo_de_a > conteo_de_o AND conteo_de_a > conteo_de_u THEN
vocal_mayor := 'a';
END IF;
IF conteo_de_e > conteo_de_a AND conteo_de_e > conteo_de_i AND conteo_de_e > conteo_de_o AND conteo_de_e > conteo_de_u THEN
vocal_mayor := 'e';
END IF;
IF conteo_de_i > conteo_de_a AND conteo_de_i > conteo_de_e AND conteo_de_i > conteo_de_o AND conteo_de_i > conteo_de_u THEN
vocal_mayor := 'i';
END IF;
IF conteo_de_o > conteo_de_a AND conteo_de_o > conteo_de_e AND conteo_de_o > conteo_de_i AND conteo_de_o > conteo_de_u THEN
vocal_mayor := 'o';
END IF;
UPDATE empleados
SET email = TRABA(nombre, vocal_mayor)||TRABA(apellido, vocal_mayor)
WHERE num_emp BETWEEN piso AND techo;
END CRIPTA;
/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment