Created
November 27, 2014 02:35
-
-
Save leopic/1a74150370ded7efbfe4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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