Código SQL:
Ver original
CREATE 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??