26 lines
531 B
SQL
26 lines
531 B
SQL
|
|
CREATE OR REPLACE EDITIONABLE PROCEDURE "CALCULAR_PROMEDIO"
|
|
(
|
|
p_numeros IN VARCHAR2,
|
|
p_promedio OUT NUMBER
|
|
)
|
|
AS
|
|
l_suma NUMBER := 0;
|
|
l_contador NUMBER := 0;
|
|
l_numero NUMBER;
|
|
BEGIN
|
|
FOR i IN 1 .. LENGTH(p_numeros) LOOP
|
|
l_numero := SUBSTR(p_numeros, i, 1);
|
|
IF l_numero IS NOT NULL THEN
|
|
l_suma := l_suma + l_numero;
|
|
l_contador := l_contador + 1;
|
|
END IF;
|
|
END LOOP;
|
|
|
|
IF l_contador > 0 THEN
|
|
p_promedio := l_suma / l_contador;
|
|
ELSE
|
|
p_promedio := NULL;
|
|
END IF;
|
|
END calcular_promedio;
|
|
/ |