Fórum como descobrir qual registro esta com erro de chave primária #354756
04/03/2008
0
Estou usando Firebird, só que quando o cliente vai fazer uma pesquisa na tabela a pesquisa mostra alguns registro e da um erro de violação de chave , mais como posso identificar qual registro e resolver o problema
minha estrutura é
/* Table: MOVICAIXA, Owner: SYSDBA */
CREATE TABLE ´MOVICAIXA´
(
´ID_LOJA´ INTEGER NOT NULL,
´CODTIPO´ INTEGER NOT NULL,
´CODFUNC´ INTEGER NOT NULL,
´CODBAN´ INTEGER,
´NR_REGISTRO´ INTEGER NOT NULL,
´CODIGOCLI´ INTEGER,
´DATA´ TIMESTAMP,
´HORA´ VARCHAR(8),
´NRCAIXA´ VARCHAR(2),
´DIASEMANA´ VARCHAR(16),
´SITUACAO´ VARCHAR(6),
´DESCONTO´ DOUBLE PRECISION,
´NR_CUPOM´ VARCHAR(10) NOT NULL,
CONSTRAINT ´PK_MOVICAIXA´ PRIMARY KEY (´ID_LOJA´, ´NR_CUPOM´, ´NR_REGISTRO´)
);
Obrigado a tds
minha estrutura é
/* Table: MOVICAIXA, Owner: SYSDBA */
CREATE TABLE ´MOVICAIXA´
(
´ID_LOJA´ INTEGER NOT NULL,
´CODTIPO´ INTEGER NOT NULL,
´CODFUNC´ INTEGER NOT NULL,
´CODBAN´ INTEGER,
´NR_REGISTRO´ INTEGER NOT NULL,
´CODIGOCLI´ INTEGER,
´DATA´ TIMESTAMP,
´HORA´ VARCHAR(8),
´NRCAIXA´ VARCHAR(2),
´DIASEMANA´ VARCHAR(16),
´SITUACAO´ VARCHAR(6),
´DESCONTO´ DOUBLE PRECISION,
´NR_CUPOM´ VARCHAR(10) NOT NULL,
CONSTRAINT ´PK_MOVICAIXA´ PRIMARY KEY (´ID_LOJA´, ´NR_CUPOM´, ´NR_REGISTRO´)
);
Obrigado a tds
Essistemas
Curtir tópico
+ 0
Responder
Posts
04/03/2008
Ferreia2
Tem algo estranho ai!!!!
O sistema deveria dar erro de Chave na hora de incluir, na pesquisa ele não deveria dar este erro.
Como sua tabela tem essas chaves primarias ID_LOJA´, ´NR_CUPOM´, ´NR_REGISTRO faça este select
Select Id_Loja,NR_Cupom,NR_Registro, Count(*)
from movicaixa
group by ID_LOJA, NR_CUPOM, NR_REGISTRO
Ai é só olhar no resultado do select a coluna count qual é maior que um, ai é só corrigir
O sistema deveria dar erro de Chave na hora de incluir, na pesquisa ele não deveria dar este erro.
Como sua tabela tem essas chaves primarias ID_LOJA´, ´NR_CUPOM´, ´NR_REGISTRO faça este select
Select Id_Loja,NR_Cupom,NR_Registro, Count(*)
from movicaixa
group by ID_LOJA, NR_CUPOM, NR_REGISTRO
Ai é só olhar no resultado do select a coluna count qual é maior que um, ai é só corrigir
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)