adicionar mais um campo na primary key

Firebird

27/10/2008

Ola pessoal estou com dificuldade para incluir mais um campo no primary key
eu deletei a primary key ´alter table item_venda drop constraint pk_item_venda´

depois incluir mais um campo
alter table item_venda add nr_itvnd_sequencial integer not null
ultimo passo é criar a chave primary com o seguinte comando:
ALTER TABLE ITEM_VENDA ADD CONSTRAINT PK_ITEM_VENDA PRIMARY KEY(CD_ITVND_VND, CD_ITVND_FILIAL, TP_ITVND, CD_ITVND_PRODUTO, NR_ITVND_SEQUENCIAL)

e me retorna o seguinte erro:

invalid insert or update value: objetcto columns are constrainde no 2 table rows can have duplicate column values.
attempt to store duplicate value (visible to active transaction) in unique index ´pk_item_venda´

Se eu remover o campo nr_itvnd_sequencial) funciona perfeitamente o que pode ser.

Estou usando firebird 1.54


Fabiotb

Fabiotb

Curtidas 0

Respostas

Webjoel

Webjoel

27/10/2008

Olá!

A mensagem que está dando é que você está violando a sia primary key, informando que você tem valores repetidos nos campos da sua primary key em mais de 1 registro.

No caso como você falou, o campoque deve estar repetindo é este ultimo campo que você adicionou que esta repetido na base.

Para descobrir quais são os registros repetidos faça um select utilizando o having count.


GOSTEI 0
POSTAR