Hola. Tengo un problema con una función:
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION UF_ANHO_BISIESTO (
anho IN varchar2 ) RETURN varchar2
IS
BEGIN
DECLARE
anho1 NUMBER(4);
ln_valor NUMBER(1);
retorna varchar2(1);
BEGIN
anho1 := to_number(anho);
BEGIN
SELECT CASE WHEN ((MOD(anho1,4) = 0) AND (MOD(anho1,100) <> 0) OR (MOD(anho1,400) = 0)) THEN 1 --Si es bisiesto retorna 1
ELSE 0 --Si no es bisiesto retorna 0
END
INTO ln_valor
FROM dual;
END;
retorna := to_char(ln_valor);
RETURN TRIM(retorna);
END;
END;
El error exacto es: ORA-00904: "anho1": invalid identifier.
Esta función antes recibía un numero por parámetro pero, me daba el mismo error. Alguna idea para solucionarlo??