NÃo estou conseguindo inserir dado em um tabela

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
eduardo.d2
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 67
Registrado em: Ter, 08 Jan 2008 9:13 pm
Localização: são paulo
Eduardo Andrade

Informações do Ambiente:
* Versão do Oracle: 10g express edition
* Sistema Operacional:XP

Olá estou tento dificuldade para inserir dados em uma tabela,
segue a tabela

Selecionar tudo

TABELA CLIENTES (
CODIGO NUMBER(10, 0) NOT NULL,
NOME VARCHAR2(50) NOT NULL,
DATA DATE NOT NULL,
STATUS NUMBER(1, 0) DEFAULT '1' NOT NULL,
CREDITO NUMBER(12, 2),
HISTORICO LONG,
TIPO VARCHAR2(30) DEFAULT 'J' NOT NULL, 
o erro que esta me retornando

Selecionar tudo

Error report:
SQL Error: ORA-01722: número inválido
01722. 00000 -  "invalid number"
e esse eo insert

Selecionar tudo

insert into CLIENTES (CODIGO,
             NOME,
             DATA,
             STATUS,
             HISTORICO,
             CREDITO,
             TIPO,
             CGC)
values 
       (1,
       'EDUARDO',
       SYSDATE,
       1,
       1,
       'TESTE',
       'TESTE',
       'TESTE');
desde de já meu muito obrigado
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

O campo CGC é do tipo Number?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Tópico movido para o grupo de SQL.
eduardo.d2
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 67
Registrado em: Ter, 08 Jan 2008 9:13 pm
Localização: são paulo
Eduardo Andrade

Não

Selecionar tudo

CGC VARCHAR2(14) NOT NULL )
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

Bom Dia,

veja o campo CREDITO, ele é number e você esta tentando inserir 'teste' nele. este é o erro.


vlw
eduardo.d2
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 67
Registrado em: Ter, 08 Jan 2008 9:13 pm
Localização: são paulo
Eduardo Andrade

Boa noite, agora esta dando outro erro

Selecionar tudo

Error at Command Line:1 Column:12
Error report:
SQL Error: ORA-00913: valores demais
00913. 00000 -  "too many values"
eu fiz a modificação na tabela, aumentado o tamanho dela mais não adiantou

Selecionar tudo

INSERT INTO CLIENTES(CODIGO,
                    NOME,
                    DATA,
                    STATUS,
                    CREDITO,
                    HISTORICO,
                    TIPO,
                    CGC)
            VALUES(01,
                   'EDUARDO',
                   SYSDATE,
                   1,
                   100,
                   'TESTE',
                   'TESTE',
                   'T',
                   'TESTE')
Renan Orati
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 90
Registrado em: Qui, 23 Ago 2007 3:40 pm
Localização: São José do Rio Preto - SP

Você está passando um valor a mais!!

você indicou 8 campos para receber valores... porém você está passando 9 valores dentro de "VALUES"!!!!

Selecionar tudo

INSERT INTO CLIENTES(CODIGO, -- campo 1
                    NOME, -- campo 2
                    DATA, -- campo 3
                    STATUS, -- campo 4
                    CREDITO, -- campo 5
                    HISTORICO, -- campo 6
                    TIPO, -- campo 7
                    CGC) -- campo 8
            VALUES(01, -- campo 1
                   'EDUARDO', -- campo 2
                   SYSDATE, -- campo 3
                   1, -- campo 4
                   100, -- campo 5
                   'TESTE', -- campo 6
                   'TESTE', -- campo 7
                   'T', -- campo 8
                   'TESTE'); -- campo 9
falou!!
edson.amorim
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 135
Registrado em: Qui, 04 Out 2007 3:36 pm
Localização: Belo Horizonte - MG

Caro colega,

Como teste, eu tiraria o campo sete que está aí no seu insert. Trocaria o conteudo do ultimo campo para que realmente seja um CGC. Veja então mnha alternativa:

Como está:

Selecionar tudo

INSERT INTO CLIENTES(CODIGO, -- campo 1 
                    NOME, -- campo 2 
                    DATA, -- campo 3 
                    STATUS, -- campo 4 
                    CREDITO, -- campo 5 
                    HISTORICO, -- campo 6 
                    TIPO, -- campo 7 
                    CGC) -- campo 8 
            VALUES(01, -- campo 1 
                   'EDUARDO', -- campo 2 
                   SYSDATE, -- campo 3 
                   1, -- campo 4 
                   100, -- campo 5 
                   'TESTE', -- campo 6 
                   'TESTE', -- campo 7 
                   'T', -- campo 8 
                   'TESTE'); -- campo 9 
Como ficaria corrigindo os erros:

Selecionar tudo


INSERT INTO CLIENTES(CODIGO, -- campo 1 
                    NOME, -- campo 2 
                    DATA, -- campo 3 
                    STATUS, -- campo 4 
                    CREDITO, -- campo 5 
                    HISTORICO, -- campo 6 
                    TIPO, -- campo 7 
                    CGC) -- campo 8 
            VALUES(01, -- campo 1 
                   'EDUARDO', -- campo 2 
                   SYSDATE, -- campo 3 
                   1, -- campo 4 
                   100, -- campo 5 
                   'TESTE', -- campo 6 
                   'T', -- campo 7 
                   '17187482000127'); -- campo 8

 
Espero que lhe ajude!!

Edson
Responder
  • Informação