Inserção de campos no SQL
Pessoal
Executei a script abaixo no IBEXPERt. Percebo que para campos do tipo INTEGER nao se pode digitar uma seguencia de números muito grande.
O camo NR_FONE tentei inserir o valor 34271698 mas aparece a mensagem
aritmetic overlfow or division by zero has ocurred. O campo é o do tipo INTEGER. tenho que diminuir o numero de digitos do campo fone para ele inserir. Mas por que ????? Ou então a soluçao é definir como varchar ???
insert into tbaluno(tbaluno.cd_aluno,tbaluno.nm_aluno,tbaluno.ds_endereco,
tbaluno.ds_bairro, tbaluno.ds_cidade,
tbaluno.nr_fone,tbaluno.nr_celular,tbaluno.dt_nascimento, tbaluno.nr_cpf)
values(3,´Rogério´,´Rua Piratuba, 134´,´Iririú´,´Joinville´,34271698,9964,´09/28/1968´,64095);
Estou usando FIREBIRD 2.0
Executei a script abaixo no IBEXPERt. Percebo que para campos do tipo INTEGER nao se pode digitar uma seguencia de números muito grande.
O camo NR_FONE tentei inserir o valor 34271698 mas aparece a mensagem
aritmetic overlfow or division by zero has ocurred. O campo é o do tipo INTEGER. tenho que diminuir o numero de digitos do campo fone para ele inserir. Mas por que ????? Ou então a soluçao é definir como varchar ???
insert into tbaluno(tbaluno.cd_aluno,tbaluno.nm_aluno,tbaluno.ds_endereco,
tbaluno.ds_bairro, tbaluno.ds_cidade,
tbaluno.nr_fone,tbaluno.nr_celular,tbaluno.dt_nascimento, tbaluno.nr_cpf)
values(3,´Rogério´,´Rua Piratuba, 134´,´Iririú´,´Joinville´,34271698,9964,´09/28/1968´,64095);
Estou usando FIREBIRD 2.0
Rogeranalista
Curtidas 0
Respostas
M2_gibin
04/08/2007
O campo no qual vc esta tentando inserir valores fluituantes ou seja que nao sao inteiros no banco de dados tem que ser do tipo float nao integer ou ate mesmo dependendo da situação varchar [string]
GOSTEI 0
Gandalf.nho
04/08/2007
A menos que você precise fazer cálculos ou outras operações que exigem o uso de números, declare esses tipos de dados (FONE, CEP e outros) como string, daí não fica restrito devido ao limite de tamanho.
GOSTEI 0