Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2015, 10:19
Avatar de Doglas
Doglas
 
Fecha de Ingreso: mayo-2015
Mensajes: 22
Antigüedad: 8 años, 10 meses
Puntos: 0
Error ora-00904

Hola. Tengo un problema con una función:
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION UF_ANHO_BISIESTO (
  2. anho IN varchar2 ) RETURN varchar2
  3. IS
  4. BEGIN
  5. DECLARE
  6. anho1        NUMBER(4);
  7. ln_valor     NUMBER(1);
  8. retorna      varchar2(1);
  9. BEGIN
  10.     anho1 := to_number(anho);
  11.     BEGIN
  12.     SELECT CASE WHEN ((MOD(anho1,4) = 0) AND (MOD(anho1,100) <> 0) OR (MOD(anho1,400) = 0)) THEN 1 --Si es bisiesto retorna 1
  13.                        ELSE 0 --Si no es bisiesto retorna 0
  14.                   END
  15.     INTO ln_valor
  16.     FROM dual;
  17.    
  18.    END;
  19.    retorna := to_char(ln_valor);
  20.    RETURN TRIM(retorna);
  21. END;
  22. 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??