CREATE OR REPLACE
FUNCTION VERIFICA_NUMERICO(
	P_ENTRADA IN VARCHAR2)
	RETURN INTEGER
AS
	V_RETORNO 	INTEGER;
	V_VAR 		INTEGER;
BEGIN
	BEGIN
		IF (P_ENTRADA IS NOT NULL) THEN
			SELECT TO_NUMBER(P_ENTRADA)
			INTO V_VAR
			FROM DUAL;
			V_RETORNO := 1; --NUMERICO
		ELSE
			V_RETORNO := 2; --VAZIO
		END IF;
	EXCEPTION WHEN OTHERS THEN
		V_RETORNO := 3; --VARCHAR
	END;
	RETURN V_RETORNO;
END;
/
