“Conocimientos software>Software de base de datos

Cómo encontrar un número no válido en una tabla Oracle

2014/2/2
Números válidos en tablas de Oracle puede ser frustrante y causar código bien formado para comportarse de forma inesperada y no deseada , lo que resulta en el ORA- 01722 error de Oracle . El error número inválido en Oracle surge , a veces de una manera aparentemente aleatoria , cuando el código SQL se escribe que utiliza una columna basada en caracteres para las operaciones matemáticas y se encuentra un carácter no numérico . Para empeorar las cosas , este error no siempre ocurren a pesar de que se cumplen las condiciones para ello . Esto es debido a la forma en que una tabla está atravesada cuando se está escaneando para hacer coincidir los datos principalmente . Cosas que necesitará
base de datos Oracle
tabla con una columna VARCHAR2
datos tanto de tipo numérico y no numéricos en la columna VARCHAR2
Mostrar más instrucciones Cómo evitar el error antes de it Happens
1

Crear una tabla con columnas correctamente definidos. Por ejemplo :

CREATE TABLE numbers_and_words

( number_col número AS ,

word_col COMO varchar2 ( 100 ) )
2 Programa

la aplicación sólo colocar los datos numéricos en los datos de la columna y el carácter number_col en la columna word_col .
3

Crear una condición de control en la aplicación que asegura los datos numéricos no se están pasando a la columna number_col . Oracle permite la representación de caracteres de un número que se almacena en una columna de caracteres .
Trabajar alrededor de ella
4

escribir una función para capturar los datos no numéricos . Un ejemplo :

CREAR is_numeric FUNCIÓN (str EN VARCHAR2 ) RETURN


NÚMERO


NÚMERO num;

COMENZAR

num: = TO_NUMBER (str ) ;

RETURN 1 ;


EXCEPCIÓN CUANDO OTROS ENTONCES

return 0;
< p> END;
5

Escribir una vista que utiliza la función para crear una representación de la mesa sin datos no numéricos . Suponiendo que el nombre de la tabla es t1 y la columna con los datos mixtos se llama " mixed_col , " una visión sólo numérico se puede escribir de la siguiente manera :

CREATE VIEW numbersonly AS

SELECCIONAR mixed_col DE t1

DONDE is_numeric ( mixed_col ) = 1
6

Utilice la vista numbersonly en las consultas que necesiten hacer operaciones numéricas basadas en la columna. Por ejemplo :

SELECT * FROM numbersonly

DONDE mixed_col > 35

Software de base de datos
Cómo crear un contacto telefónica con MS Access 2007
Cómo desarrollar una base de datos en Vs acceso . Servidor Sequel
Cómo cambiar un desplazamiento del ratón en un teclado de acceso
Cómo utilizar igual que en una consulta de Access
Cómo escanear tarjetas de Notes en el acto
Cómo convertir a SQL Prolog
Cómo aprender SQL Con Tutoriales
Cómo acceder a un cuadro de lista desplegable
Conocimientos Informáticos © http://www.ordenador.online