Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

angello

[Resolvido] SQL error code = -842

Recommended Posts

Boa noite!!

 

sou iniciante e estou tentando cria um programa de cadastro de cliente, estou usando o IBCosole para cria o Banco de Dados, peguei um modele como base.

 

modelo:

 

CREATE TABLE "CADCLIENTES"

(

"COD" NUMERIC(4, 0) NOT NULL,

"NOME" VARCHAR(100),

"ENDE" VARCHAR(100),

"NUMTEL" VARCHAR(100),

CONSTRAINT "PK_CADCLIENTES" PRIMARY KEY ("COD")

);

 

 

acresentei mais alguns campos no meu;

 

CREATE TABLE "CADCLIENTES"

(

"COD" NUMERIC(4, 0) NOT NULL,

"NOME" VARCHAR(100),

"CPF/CNPJ" VARCHAR(100),

"ENDE" VARCHAR(100),

"NUMTEL" VARCHAR(100),

"IDEQUIPAMENTO" NUMERIC(50),

"IDCOMPBORDO" VARCHAR(100),

"ICICHIP" VARCHAR(100),

"QUANTCARRO" NUMERIC(50),

"RESPONCARRO1" VARCHAR(100),

"RESPONCARRO2" VARCHAR(100),

"EMAILRESP1" VARCHAR(100),

"EMAILRESP1" VARCHAR(100),

CONSTRAINT "PK_CADCLIENTES" PRIMARY KEY ("COD")

);

 

 

quando mando copila ele dar esse erro

 

Dynamic SQL Error

SQL error code = -842

Precision must be from 1 to 18

Statement: CREATE TABLE "CADCLIENTES"

(

"COD" NUMERIC(4, 0) NOT NULL,

"NOME" VARCHAR(100),

"CPF/CNPJ" VARCHAR(100),

"ENDE" VARCHAR(100),

"NUMTEL" VARCHAR(100),

"IDEQUIPAMENTO" NUMERIC(50),

"IDCOMPBORDO" VARCHAR(100),

"ICICHIP" VARCHAR(100),

"QUANTCARRO" NUMERIC(50),

"RESPONCARRO1" VARCHAR(100),

"RESPONCARRO2" VARCHAR(100),

"EMAILRESP1" VARCHAR(100),

"EMAILRESP1" VARCHAR(100),

CONSTRAINT "PK_CADCLIENTES" PRIMARY KEY ("COD")

 

 

gostaria da ajuda de vocês para saber pq ele esta dando esse erro e como posso soluciona ele

 

 

dês de ja obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite!!

 

sou iniciante e estou tentando cria um programa de cadastro de cliente, estou usando o IBCosole para cria o Banco de Dados, peguei um modele como base.

 

modelo:

 

CREATE TABLE "CADCLIENTES"

(

"COD" NUMERIC(4, 0) NOT NULL,

"NOME" VARCHAR(100),

"ENDE" VARCHAR(100),

"NUMTEL" VARCHAR(100),

CONSTRAINT "PK_CADCLIENTES" PRIMARY KEY ("COD")

);

 

 

acresentei mais alguns campos no meu;

 

CREATE TABLE "CADCLIENTES"

(

"COD" NUMERIC(4, 0) NOT NULL,

"NOME" VARCHAR(100),

"CPF/CNPJ" VARCHAR(100),

"ENDE" VARCHAR(100),

"NUMTEL" VARCHAR(100),

"IDEQUIPAMENTO" NUMERIC(50),

"IDCOMPBORDO" VARCHAR(100),

"ICICHIP" VARCHAR(100),

"QUANTCARRO" NUMERIC(50),

"RESPONCARRO1" VARCHAR(100),

"RESPONCARRO2" VARCHAR(100),

"EMAILRESP1" VARCHAR(100),

"EMAILRESP1" VARCHAR(100),

CONSTRAINT "PK_CADCLIENTES" PRIMARY KEY ("COD")

);

 

 

quando mando copila ele dar esse erro

 

Dynamic SQL Error

SQL error code = -842

Precision must be from 1 to 18

Statement: CREATE TABLE "CADCLIENTES"

(

"COD" NUMERIC(4, 0) NOT NULL,

"NOME" VARCHAR(100),

"CPF/CNPJ" VARCHAR(100),

"ENDE" VARCHAR(100),

"NUMTEL" VARCHAR(100),

"IDEQUIPAMENTO" NUMERIC(50),

"IDCOMPBORDO" VARCHAR(100),

"ICICHIP" VARCHAR(100),

"QUANTCARRO" NUMERIC(50),

"RESPONCARRO1" VARCHAR(100),

"RESPONCARRO2" VARCHAR(100),

"EMAILRESP1" VARCHAR(100),

"EMAILRESP1" VARCHAR(100),

CONSTRAINT "PK_CADCLIENTES" PRIMARY KEY ("COD")

 

 

gostaria da ajuda de vocês para saber pq ele esta dando esse erro e como posso soluciona ele

 

 

dês de ja obrigado pela ajuda

 

Olá Angello

 

O código correto para gerar sua tabela é este abaixo

CREATE TABLE "CADCLIENTES"
(
"COD"   INTEGER NOT NULL,
"NOME"  VARCHAR(100),
"CPF_CNPJ"  VARCHAR(20),
"ENDE"  VARCHAR(100),
"NUMTEL"  VARCHAR(18),
"IDEQUIPAMENTO"  INTEGER,
"IDCOMPBORDO"   VARCHAR(100),
"ICICHIP"  VARCHAR(100),
"QUANTCARRO"  INTEGER,
"RESPONCARRO1"  VARCHAR(100),
"RESPONCARRO2"  VARCHAR(100),
"EMAILRESP1"  VARCHAR(100),
"EMAILRESP2"  VARCHAR(100),
CONSTRAINT "PK_CADCLIENTES" PRIMARY KEY ("COD")
);

O problema estava no tipo de dado que você usou para chave Primary key. para chave primaria Sempre dê preferência ao tipo de dado inteiro (Integer).

 

Obs.: Tambem alterei a quantidade de caracteres que você deixou para a coluna (CPF_CNPJ) e (NUMTEL). Veja que para digitar um CNPJ que é maior do que o CPF só são necessários 18 caracteres ja com formatação e para o numero de telefone já formatado ((0xxdd)xxxx-xxxx ) só é preciso 16 caracteres. Veja os outros campos para saber se é mesmo necessario esses espaços todos.

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.