Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/08/2010, 13:56
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Consulta Funcion

No creo.

Pero prueba algo así
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION isnumber(cadena IN VARCHAR2)
  2. RETURN VARCHAR2 AS
  3. numero_prueba NUMERIC;
  4. BEGIN
  5.   BEGIN
  6.      numero_prueba := TO_NUMBER(cadena);
  7.      RETURN ('ES NUMERO');
  8.   EXCEPTION
  9.      WHEN OTHERS THEN
  10.      RETURN ('NO ES NUMERO');
  11.   END;
  12. END isnumber;
  13. /

Se usan dos niveles de transacciones. Si la conversión a numero con TO_NUMBER es exitosa, es porque el valor ingresado en el parámetro es numérico y retornas un mensaje para numero. si se presenta error en esta conversión tratas la excepción y no aplicas raise para que el error no corrompa el bloque padre. Si se da ese caso, retorna un mensaje para alfanumerico.

pruebala y nos cuentas.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 27/08/2010 a las 15:45