Software  
 
Conhecimento computador >> Software >> Software de banco de dados >> 
Como encontrar um número inválido em uma tabela Oracle
números inválidos em tabelas Oracle pode ser frustrante e fazer com que código bem formado se comportar de maneiras inesperadas e indesejáveis ​​, resultando na ORA- 01722 erro Oracle. O erro número inválido no Oracle surge , às vezes de uma forma aparentemente aleatória , quando o código SQL está escrito que utiliza uma coluna baseada em caracteres para operações matemáticas e um caractere não- numérico é encontrado. Para piorar a situação , este erro não irá sempre ocorrer mesmo que as condições para que sejam satisfeitas. Isto é principalmente devido à forma como a tabela é percorrido quando se está sendo digitalizado para os dados de correspondência. Coisas que você precisa
banco de dados Oracle
tabela com uma coluna VARCHAR2
dados de ambos os tipos numéricos e não-numéricos na coluna VARCHAR2
Show Mais instruções
Evite o erro antes isso acontece
1

Criar uma tabela com colunas corretamente definidos. Por exemplo :

CRIAR numbers_and_words TABELA

( number_col AS número,

word_col AS varchar2 (100) )
2

Programa o aplicativo para só colocar os dados numéricos na coluna number_col e dados de caracteres na coluna word_col .
3

Criar uma condição de verificação no aplicativo que garante que os dados numéricos não está sendo passado para a coluna number_col . Oracle vai permitir que a representação de caracteres de um número para ser armazenado em uma coluna de caracteres .
Trabalhar em torno dele
4

Escreva uma função para pegar os dados não- numéricos. Um exemplo :

CREATE FUNCTION is_numeric (str IN VARCHAR2 )

número de devolução

IS

num NUMBER;

BEGIN < br >

num: = TO_NUMBER (str );

return 1;

EXCEÇÃO

QUANDO OUTROS ENTÃO

return 0;

END;
5

Escrever uma visão que usa a função para criar uma representação da tabela sem dados não numéricos. Supondo-se que o nome da tabela é t1 ea coluna com os dados mista é chamada de " mixed_col ", um somente numérico vista poderia ser escrito da seguinte forma:

CREATE VIEW numbersonly AS

Selecione mixed_col DE t1

ONDE is_numeric ( mixed_col ) = 1
6

Use a exibição numbersonly em consultas que precisa fazer operações baseadas numéricos na coluna. Por exemplo :

SELECT * FROM numbersonly

ONDE mixed_col > 35

Anterior :

Próximo : No
  Os artigos relacionados
·Como Mudar a rolagem do mouse em um teclado Acesso 
·Como copiar arquivos XLS para SPSS 
·Como criar uma tabela Oracle Database Com Chave primár…
·O que são arquivos r34 
·O que é o Oracle SQL Código 955 
·Como modificar a conexão de um ADP 
·DB2 SQL on-line do curso Tutoriais 
·Como alterar o modo SSRS para SharePoint 
·SQLite Componentes 
·Como remover SQLite 
  Artigos em destaque
·Como alterar cores Stage in Flash 
·Como atualizar o driver SoundMax Digital Audio 
·Como adicionar lógica para acessar relatórios 
·Como gravar um DVD no formato PAL 
·Como desenhar linhas mais suaves com uma ferramenta Can…
·Como gravar um CD no iTunes 
·Como fazer backup de arquivos do computador em um CD 
·Tutorial para o Adobe Audition 2.0 
·Como criar um site com Flash CS4 
·Como desativar Sophos 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados