Jump to content
Fórum Script Brasil
  • 0

Violation of UNIQUE KEY


NIK

Question

Pessoal estou fazendo inserção de produtos da tabela TPRD da base (oficial) para TPRD da base (cópia), porém, me aparece o erro abaixo... que devo fazer???

Valeu

NIK

Violation of UNIQUE KEY constraint 'TXPRDCOD'. Cannot insert duplicate key in object 'TPRD'.

The statement has been terminated.

Segue também a sentença que estou executando.... valeu

if (select count(*) from baseoficial.dbo.tprd a where not exists

(select * from basecopia.dbo.tprd where codcoligada = a.codcoligada and idprd = a.idprd)) > 0

begin

declare produto cursor for

select

CODCOLIGADA,IDPRD,CODIGOPRD,NOMEFANTASIA,CODIGOREDUZIDO,CODFAB,NUMNOFABRIC,REPASSEFABRIC,ULTIMONIVEL,TIPO,DESCRICAO,

DESCRICAOAUX,CODIGOAUXILIAR,PRECO1,PRECO2,PRECO3,PRECO4,PRECO5,DATABASEPRECO1,DATABASEPRECO2,DATABASEPRECO3,DATABASEPRECO4,

DATABASEPRECO5,CODMOEPRECO1,CODMOEPRECO2,CODMOEPRECO3,CODMOEPRECO4,CODMOEPRECO5,REFERENCIACCF,NUMEROCCF,REFERENCIACP,

DESCRICAOCP,NUMEROTRIBUTOS,PESOLIQUIDO,PESOBRUTO,COMPRIMENTO,ESPESSURA,LARGURA,COR,OBSERVACAO,CODUNDCONTROLE,CODCPG,

MARGEMLUCROFISC,FATORREDUCAOICMS,CONCEITOABC,ESTOQUEMINIMO1,ESTOQUEMAXIMO1,ESTOQUEMINIMO2,ESTOQUEMAXIMO2,ESTOQUEMINIMO3,

ESTOQUEMAXIMO3,PONTODEPEDIDO1,PONTODEPEDIDO2,PONTODEPEDIDO3,DTCADASTRAMENTO,DTULTIMOREAJUSTE,PERCENTCOMISSAO,DESCONTOCOMPRA,

DESCONTOVENDA,CUSTOUNITARIO,DTCUSTOUNITARIO,CODTIP,CODTB1FAT,CODTB2FAT,CODTB3FAT,CODTB4FAT,CODTB5FAT,MARGEMBRUTALUCRO,

SALDOGERALFISICO,PERCENTCOMISSAO2,CODUNDCOMPRA,CODUNDVENDA,DTULTIMAVENDAA,DTULTIMAVENDAB,RECALCCUSTOMEDIO,EPERIODICO,

CAMPOLIVRE,CAMPOLIVRE2,CAMPOLIVRE3,IDPRODUTORELAC,CUSTOMEDIO,DATACUSTOMEDIO,IDPRDRELAC2,DTULTIMACOMPRA,CUSTOREPOSICAO,

SALDOGERALFINANC,DTULTIMACOMPRAB,CUSTOREPOSICAOB,CLCONTABIL,PERCENTCOMISSAO3,CODGRD,TIPOCONTA,LOCALDESCARGA,CODCOLCONTAGER,

CODCONTAGER,USANUMDECPRECO,NUMDECPRECO,TEMPO,CODAREA,BLOCK,CLASSEFISCALECF,MULTIPLOPRD,INATIVO,CODTIPOAPL,IDFORMA,

PERCENTIMPORTADO,DATAEXTRA1,DATAEXTRA2,PESAVEL,TOLERANCIASUP,TOLERANCIAINF,CODGRUPO,DATAULTALTERACAO,IDIMAGEM,DATAPRIMEIRAALT,

CODDIEF,DIAMETRO,TRIBUTACAOECF,CONTROLADOPORLOTE,TIPOCALCULOCUSTO,MASCARANUMSERIE,USANUMSERIE,CUSTOPADRAO,CODUSUARIO,TEMPOVALIDADE,

USUARIOCRIACAO,INVENTARIOFISCAL,CODGRUPOBEM,VALIDADEMINIMA,CODIGOIRRF,DEDUCAOIRRF,ISSDEVIDOMUNICIPIOCLIENTE,QTDEVOLUME,PERCENTBASEINSS,

PERCBASEINSSEMPREGADO,GRPFATURAMENTO,TOLINFPRECO,TOLSUPPRECO,INCENTIVOFISCALMS,CODAPURACAO,INDESPECIAL,CODAPURACAOE,IDGRD,

CODCOLUNA,CODLINHA,PRODUTOBASE,MULTIPLOQTDECOMPRADA,SERVICOPRODUTORMOFFICINA,PRODUTOEPI,MULTIPLOPRDVENDA,CODIGOSERVICOFEDERAL,

CODIGOEX,CODTBORCAMENTO,RECALCSALDO1,RECALCSALDO2,RECALCSALDO3,RECALCSALDO4,RECALCSALDO5,RECALCSALDO6,RECALCSALDO7,RECALCSALDO8,

RECALCSALDO9,RECALCSALDO10,IDPRDFISCALS,IDPRDFISCALE,CODCOLTBORCAMENTO

from baseoficial.dbo.tprd a

where not exists

(select codcoligada, idprd from basecopia.dbo.tprd where codcoligada = a.codcoligada and idprd = a.idprd)

declare @CODCOLIGADA int

declare @IDPRD int

declare @CODIGOPRD varchar

declare @NOMEFANTASIA varchar

declare @CODIGOREDUZIDO varchar

declare @CODFAB varchar

declare @NUMNOFABRIC varchar

declare @REPASSEFABRIC RMDVALOR4

declare @ULTIMONIVEL smallint

declare @TIPO varchar

declare @DESCRICAO varchar

declare @DESCRICAOAUX varchar

declare @CODIGOAUXILIAR varchar

declare @PRECO1 RMDVALOR4

declare @PRECO2 RMDVALOR4

declare @PRECO3 RMDVALOR4

declare @PRECO4 RMDVALOR4

declare @PRECO5 RMDVALOR4

declare @DATABASEPRECO1 datetime

declare @DATABASEPRECO2 datetime

declare @DATABASEPRECO3 datetime

declare @DATABASEPRECO4 datetime

declare @DATABASEPRECO5 datetime

declare @CODMOEPRECO1 varchar

declare @CODMOEPRECO2 varchar

declare @CODMOEPRECO3 varchar

declare @CODMOEPRECO4 varchar

declare @CODMOEPRECO5 varchar

declare @REFERENCIACCF varchar

declare @NUMEROCCF varchar

declare @REFERENCIACP smallint

declare @DESCRICAOCP varchar

declare @NUMEROTRIBUTOS smallint

declare @PESOLIQUIDO RMDVALOR4

declare @PESOBRUTO RMDVALOR4

declare @COMPRIMENTO RMDVALOR4

declare @ESPESSURA RMDVALOR4

declare @LARGURA RMDVALOR4

declare @COR varchar

declare @OBSERVACAO varchar

declare @CODUNDCONTROLE varchar

declare @CODCPG varchar

declare @MARGEMLUCROFISC RMDVALOR4

declare @FATORREDUCAOICMS RMDVALOR4

declare @CONCEITOABC varchar

declare @ESTOQUEMINIMO1 RMDVALOR4

declare @ESTOQUEMAXIMO1 RMDVALOR4

declare @ESTOQUEMINIMO2 RMDVALOR4

declare @ESTOQUEMAXIMO2 RMDVALOR4

declare @ESTOQUEMINIMO3 RMDVALOR4

declare @ESTOQUEMAXIMO3 RMDVALOR4

declare @PONTODEPEDIDO1 RMDVALOR4

declare @PONTODEPEDIDO2 RMDVALOR4

declare @PONTODEPEDIDO3 RMDVALOR4

declare @DTCADASTRAMENTO datetime

declare @DTULTIMOREAJUSTE datetime

declare @PERCENTCOMISSAO RMDVALOR4

declare @DESCONTOCOMPRA RMDVALOR4

declare @DESCONTOVENDA RMDVALOR4

declare @CUSTOUNITARIO RMDVALOR4

declare @DTCUSTOUNITARIO datetime

declare @CODTIP varchar

declare @CODTB1FAT varchar

declare @CODTB2FAT varchar

declare @CODTB3FAT varchar

declare @CODTB4FAT varchar

declare @CODTB5FAT varchar

declare @MARGEMBRUTALUCRO RMDVALOR4

declare @SALDOGERALFISICO RMDVALOR4

declare @PERCENTCOMISSAO2 RMDVALOR4

declare @CODUNDCOMPRA varchar

declare @CODUNDVENDA varchar

declare @DTULTIMAVENDAA datetime

declare @DTULTIMAVENDAB datetime

declare @RECALCCUSTOMEDIO smallint

declare @EPERIODICO smallint

declare @CAMPOLIVRE int

declare @CAMPOLIVRE2 varchar

declare @CAMPOLIVRE3 varchar

declare @IDPRODUTORELAC int

declare @CUSTOMEDIO RMDVALOR4

declare @DATACUSTOMEDIO datetime

declare @IDPRDRELAC2 int

declare @DTULTIMACOMPRA datetime

declare @CUSTOREPOSICAO RMDVALOR4

declare @SALDOGERALFINANC RMDVALOR4

declare @DTULTIMACOMPRAB datetime

declare @CUSTOREPOSICAOB RMDVALOR4

declare @CLCONTABIL varchar

declare @PERCENTCOMISSAO3 RMDVALOR4

declare @CODGRD varchar

declare @TIPOCONTA varchar

declare @LOCALDESCARGA varchar

declare @CODCOLCONTAGER DCODCOLIGADANULL

declare @CODCONTAGER DCODCONTA

declare @USANUMDECPRECO DLOGICONULL

declare @NUMDECPRECO smallint

declare @TEMPO RMDVALOR2

declare @CODAREA int

declare @BLOCK smallint

declare @CLASSEFISCALECF smallint

declare @MULTIPLOPRD RMDVALOR4

declare @INATIVO DLOGICONULL

declare @CODTIPOAPL DKCODIGO

declare @IDFORMA int

declare @PERCENTIMPORTADO RMDVALOR4

declare @DATAEXTRA1 datetime

declare @DATAEXTRA2 datetime

declare @PESAVEL smallint

declare @TOLERANCIASUP RMDVALOR4

declare @TOLERANCIAINF RMDVALOR4

declare @CODGRUPO varchar

declare @DATAULTALTERACAO datetime

declare @IDIMAGEM int

declare @DATAPRIMEIRAALT datetime

declare @CODDIEF varchar

declare @DIAMETRO RMDVALOR4

declare @TRIBUTACAOECF varchar

declare @CONTROLADOPORLOTE int

declare @TIPOCALCULOCUSTO smallint

declare @MASCARANUMSERIE varchar

declare @USANUMSERIE int

declare @CUSTOPADRAO int

declare @CODUSUARIO varchar

declare @TEMPOVALIDADE int

declare @USUARIOCRIACAO varchar

declare @INVENTARIOFISCAL smallint

declare @CODGRUPOBEM DCODBEM

declare @VALIDADEMINIMA int

declare @CODIGOIRRF varchar

declare @DEDUCAOIRRF RMDVALOR4

declare @ISSDEVIDOMUNICIPIOCLIENTE smallint

declare @QTDEVOLUME smallint

declare @PERCENTBASEINSS RMDVALOR4

declare @PERCBASEINSSEMPREGADO RMDVALOR4

declare @GRPFATURAMENTO varchar

declare @TOLINFPRECO RMDVALOR4

declare @TOLSUPPRECO RMDVALOR4

declare @INCENTIVOFISCALMS varchar

declare @CODAPURACAO varchar

declare @INDESPECIAL varchar

declare @CODAPURACAOE varchar

declare @IDGRD int

declare @CODCOLUNA varchar

declare @CODLINHA varchar

declare @PRODUTOBASE DLOGICONULL

declare @MULTIPLOQTDECOMPRADA RMDVALOR4

declare @SERVICOPRODUTORMOFFICINA smallint

declare @PRODUTOEPI smallint

declare @MULTIPLOPRDVENDA RMDVALOR4

declare @CODIGOSERVICOFEDERAL varchar

declare @CODIGOEX varchar

declare @CODTBORCAMENTO varchar

declare @RECALCSALDO1 smallint

declare @RECALCSALDO2 smallint

declare @RECALCSALDO3 smallint

declare @RECALCSALDO4 smallint

declare @RECALCSALDO5 smallint

declare @RECALCSALDO6 smallint

declare @RECALCSALDO7 smallint

declare @RECALCSALDO8 smallint

declare @RECALCSALDO9 smallint

declare @RECALCSALDO10 smallint

declare @IDPRDFISCALS int

declare @IDPRDFISCALE int

declare @CODCOLTBORCAMENTO DCODCOLIGADANULL

open produto

fetch next from produto

into

@CODCOLIGADA,@IDPRD,@CODIGOPRD,@NOMEFANTASIA,@CODIGOREDUZIDO,@CODFAB,@NUMNOFABRIC,@REPASSEFABRIC,@ULTIMONIVEL,@TIPO,@DESCRICAO,

@DESCRICAOAUX,@CODIGOAUXILIAR,@PRECO1,@PRECO2,@PRECO3,@PRECO4,@PRECO5,@DATABASEPRECO1,@DATABASEPRECO2,@DATABASEPRECO3,@DATABASEPRECO4,

@DATABASEPRECO5,@CODMOEPRECO1,@CODMOEPRECO2,@CODMOEPRECO3,@CODMOEPRECO4,@CODMOEPRECO5,@REFERENCIACCF,@NUMEROCCF,@REFERENCIACP,

@DESCRICAOCP,@NUMEROTRIBUTOS,@PESOLIQUIDO,@PESOBRUTO,@COMPRIMENTO,@ESPESSURA,@LARGURA,@COR,@OBSERVACAO,@CODUNDCONTROLE,@CODCPG,

@MARGEMLUCROFISC,@FATORREDUCAOICMS,@CONCEITOABC,@ESTOQUEMINIMO1,@ESTOQUEMAXIMO1,@ESTOQUEMINIMO2,@ESTOQUEMAXIMO2,@ESTOQUEMINIMO3,

@ESTOQUEMAXIMO3,@PONTODEPEDIDO1,@PONTODEPEDIDO2,@PONTODEPEDIDO3,@DTCADASTRAMENTO,@DTULTIMOREAJUSTE,@PERCENTCOMISSAO,@DESCONTOCOMPRA,

@DESCONTOVENDA,@CUSTOUNITARIO,@DTCUSTOUNITARIO,@CODTIP,@CODTB1FAT,@CODTB2FAT,@CODTB3FAT,@CODTB4FAT,@CODTB5FAT,@MARGEMBRUTALUCRO,

@SALDOGERALFISICO,@PERCENTCOMISSAO2,@CODUNDCOMPRA,@CODUNDVENDA,@DTULTIMAVENDAA,@DTULTIMAVENDAB,@RECALCCUSTOMEDIO,@EPERIODICO,

@CAMPOLIVRE,@CAMPOLIVRE2,@CAMPOLIVRE3,@IDPRODUTORELAC,@CUSTOMEDIO,@DATACUSTOMEDIO,@IDPRDRELAC2,@DTULTIMACOMPRA,@CUSTOREPOSICAO,

@SALDOGERALFINANC,@DTULTIMACOMPRAB,@CUSTOREPOSICAOB,@CLCONTABIL,@PERCENTCOMISSAO3,@CODGRD,@TIPOCONTA,@LOCALDESCARGA,@CODCOLCONTAGER,

@CODCONTAGER,@USANUMDECPRECO,@NUMDECPRECO,@TEMPO,@CODAREA,@BLOCK,@CLASSEFISCALECF,@MULTIPLOPRD,@INATIVO,@CODTIPOAPL,@IDFORMA,

@PERCENTIMPORTADO,@DATAEXTRA1,@DATAEXTRA2,@PESAVEL,@TOLERANCIASUP,@TOLERANCIAINF,@CODGRUPO,@DATAULTALTERACAO,@IDIMAGEM,@DATAPRIMEIRAALT,

@CODDIEF,@DIAMETRO,@TRIBUTACAOECF,@CONTROLADOPORLOTE,@TIPOCALCULOCUSTO,@MASCARANUMSERIE,@USANUMSERIE,@CUSTOPADRAO,@CODUSUARIO,@TEMPOVALIDADE,

@USUARIOCRIACAO,@INVENTARIOFISCAL,@CODGRUPOBEM,@VALIDADEMINIMA,@CODIGOIRRF,@DEDUCAOIRRF,@ISSDEVIDOMUNICIPIOCLIENTE,@QTDEVOLUME,@PERCENTBASEINSS,

@PERCBASEINSSEMPREGADO,@GRPFATURAMENTO,@TOLINFPRECO,@TOLSUPPRECO,@INCENTIVOFISCALMS,@CODAPURACAO,@INDESPECIAL,@CODAPURACAOE,@IDGRD,

@CODCOLUNA,@CODLINHA,@PRODUTOBASE,@MULTIPLOQTDECOMPRADA,@SERVICOPRODUTORMOFFICINA,@PRODUTOEPI,@MULTIPLOPRDVENDA,@CODIGOSERVICOFEDERAL,

@CODIGOEX,@CODTBORCAMENTO,@RECALCSALDO1,@RECALCSALDO2,@RECALCSALDO3,@RECALCSALDO4,@RECALCSALDO5,@RECALCSALDO6,@RECALCSALDO7,@RECALCSALDO8,

@RECALCSALDO9,@RECALCSALDO10,@IDPRDFISCALS,@IDPRDFISCALE,@CODCOLTBORCAMENTO

while @@fetch_Status = 0

begin

SET @IDPRD = (SELECT VALAUTOINC+1 FROM basecopia.dbo.GAUTOINC

WHERE CODCOLIGADA =@CODCOLIGADA AND CODAUTOINC = 'IDPRD')

Insert into basecopia.dbo.tprd

values

(@CODCOLIGADA,@IDPRD,@CODIGOPRD,@NOMEFANTASIA,@CODIGOREDUZIDO,'01',@NUMNOFABRIC,@REPASSEFABRIC,@ULTIMONIVEL,@TIPO,@DESCRICAO,

@DESCRICAOAUX,@CODIGOAUXILIAR,@PRECO1,@PRECO2,@PRECO3,@PRECO4,@PRECO5,@DATABASEPRECO1,@DATABASEPRECO2,@DATABASEPRECO3,@DATABASEPRECO4,

@DATABASEPRECO5,'R$','R$','R$','R$','R$',@REFERENCIACCF,@NUMEROCCF,@REFERENCIACP,

@DESCRICAOCP,@NUMEROTRIBUTOS,@PESOLIQUIDO,@PESOBRUTO,@COMPRIMENTO,@ESPESSURA,@LARGURA,@COR,@OBSERVACAO,'UN',@CODCPG,

@MARGEMLUCROFISC,@FATORREDUCAOICMS,@CONCEITOABC,@ESTOQUEMINIMO1,@ESTOQUEMAXIMO1,@ESTOQUEMINIMO2,@ESTOQUEMAXIMO2,@ESTOQUEMINIMO3,

@ESTOQUEMAXIMO3,@PONTODEPEDIDO1,@PONTODEPEDIDO2,@PONTODEPEDIDO3,@DTCADASTRAMENTO,@DTULTIMOREAJUSTE,@PERCENTCOMISSAO,@DESCONTOCOMPRA,

@DESCONTOVENDA,@CUSTOUNITARIO,@DTCUSTOUNITARIO,@CODTIP,'0001','0001','0001',@CODTB4FAT,@CODTB4FAT,@MARGEMBRUTALUCRO,

@SALDOGERALFISICO,@PERCENTCOMISSAO2,'UN','UN',@DTULTIMAVENDAA,@DTULTIMAVENDAB,@RECALCCUSTOMEDIO,@EPERIODICO,

@CAMPOLIVRE,@CAMPOLIVRE2,@CAMPOLIVRE3,@IDPRODUTORELAC,@CUSTOMEDIO,@DATACUSTOMEDIO,@IDPRDRELAC2,@DTULTIMACOMPRA,@CUSTOREPOSICAO,

@SALDOGERALFINANC,@DTULTIMACOMPRAB,@CUSTOREPOSICAOB,@CLCONTABIL,@PERCENTCOMISSAO3,@CODGRD,@TIPOCONTA,@LOCALDESCARGA,@CODCOLCONTAGER,

@CODCONTAGER,@USANUMDECPRECO,@NUMDECPRECO,@TEMPO,@CODAREA,@BLOCK,@CLASSEFISCALECF,@MULTIPLOPRD,@INATIVO,@CODTIPOAPL,@IDFORMA,

@PERCENTIMPORTADO,@DATAEXTRA1,@DATAEXTRA2,@PESAVEL,@TOLERANCIASUP,@TOLERANCIAINF,@CODGRUPO,@DATAULTALTERACAO,@IDIMAGEM,@DATAPRIMEIRAALT,

@CODDIEF,@DIAMETRO,@TRIBUTACAOECF,@CONTROLADOPORLOTE,@TIPOCALCULOCUSTO,@MASCARANUMSERIE,@USANUMSERIE,@CUSTOPADRAO,'flavio o',@TEMPOVALIDADE,

'flavio o',@INVENTARIOFISCAL,@CODGRUPOBEM,@VALIDADEMINIMA,@CODIGOIRRF,@DEDUCAOIRRF,@ISSDEVIDOMUNICIPIOCLIENTE,@QTDEVOLUME,@PERCENTBASEINSS,

@PERCBASEINSSEMPREGADO,@GRPFATURAMENTO,@TOLINFPRECO,@TOLSUPPRECO,@INCENTIVOFISCALMS,@CODAPURACAO,@INDESPECIAL,@CODAPURACAOE,@IDGRD,

@CODCOLUNA,@CODLINHA,@PRODUTOBASE,@MULTIPLOQTDECOMPRADA,@SERVICOPRODUTORMOFFICINA,@PRODUTOEPI,@MULTIPLOPRDVENDA,@CODIGOSERVICOFEDERAL,

@CODIGOEX,@CODTBORCAMENTO,@RECALCSALDO1,@RECALCSALDO2,@RECALCSALDO3,@RECALCSALDO4,@RECALCSALDO5,@RECALCSALDO6,@RECALCSALDO7,@RECALCSALDO8,

@RECALCSALDO9,@RECALCSALDO10,@IDPRDFISCALS,@IDPRDFISCALE,@CODCOLTBORCAMENTO)

fetch next from produto

into

@CODCOLIGADA,@IDPRD,@CODIGOPRD,@NOMEFANTASIA,@CODIGOREDUZIDO,@CODFAB,@NUMNOFABRIC,@REPASSEFABRIC,@ULTIMONIVEL,@TIPO,@DESCRICAO,

@DESCRICAOAUX,@CODIGOAUXILIAR,@PRECO1,@PRECO2,@PRECO3,@PRECO4,@PRECO5,@DATABASEPRECO1,@DATABASEPRECO2,@DATABASEPRECO3,@DATABASEPRECO4,

@DATABASEPRECO5,@CODMOEPRECO1,@CODMOEPRECO2,@CODMOEPRECO3,@CODMOEPRECO4,@CODMOEPRECO5,@REFERENCIACCF,@NUMEROCCF,@REFERENCIACP,

@DESCRICAOCP,@NUMEROTRIBUTOS,@PESOLIQUIDO,@PESOBRUTO,@COMPRIMENTO,@ESPESSURA,@LARGURA,@COR,@OBSERVACAO,@CODUNDCONTROLE,@CODCPG,

@MARGEMLUCROFISC,@FATORREDUCAOICMS,@CONCEITOABC,@ESTOQUEMINIMO1,@ESTOQUEMAXIMO1,@ESTOQUEMINIMO2,@ESTOQUEMAXIMO2,@ESTOQUEMINIMO3,

@ESTOQUEMAXIMO3,@PONTODEPEDIDO1,@PONTODEPEDIDO2,@PONTODEPEDIDO3,@DTCADASTRAMENTO,@DTULTIMOREAJUSTE,@PERCENTCOMISSAO,@DESCONTOCOMPRA,

@DESCONTOVENDA,@CUSTOUNITARIO,@DTCUSTOUNITARIO,@CODTIP,@CODTB1FAT,@CODTB2FAT,@CODTB3FAT,@CODTB4FAT,@CODTB5FAT,@MARGEMBRUTALUCRO,

@SALDOGERALFISICO,@PERCENTCOMISSAO2,@CODUNDCOMPRA,@CODUNDVENDA,@DTULTIMAVENDAA,@DTULTIMAVENDAB,@RECALCCUSTOMEDIO,@EPERIODICO,

@CAMPOLIVRE,@CAMPOLIVRE2,@CAMPOLIVRE3,@IDPRODUTORELAC,@CUSTOMEDIO,@DATACUSTOMEDIO,@IDPRDRELAC2,@DTULTIMACOMPRA,@CUSTOREPOSICAO,

@SALDOGERALFINANC,@DTULTIMACOMPRAB,@CUSTOREPOSICAOB,@CLCONTABIL,@PERCENTCOMISSAO3,@CODGRD,@TIPOCONTA,@LOCALDESCARGA,@CODCOLCONTAGER,

@CODCONTAGER,@USANUMDECPRECO,@NUMDECPRECO,@TEMPO,@CODAREA,@BLOCK,@CLASSEFISCALECF,@MULTIPLOPRD,@INATIVO,@CODTIPOAPL,@IDFORMA,

@PERCENTIMPORTADO,@DATAEXTRA1,@DATAEXTRA2,@PESAVEL,@TOLERANCIASUP,@TOLERANCIAINF,@CODGRUPO,@DATAULTALTERACAO,@IDIMAGEM,@DATAPRIMEIRAALT,

@CODDIEF,@DIAMETRO,@TRIBUTACAOECF,@CONTROLADOPORLOTE,@TIPOCALCULOCUSTO,@MASCARANUMSERIE,@USANUMSERIE,@CUSTOPADRAO,@CODUSUARIO,@TEMPOVALIDADE,

@USUARIOCRIACAO,@INVENTARIOFISCAL,@CODGRUPOBEM,@VALIDADEMINIMA,@CODIGOIRRF,@DEDUCAOIRRF,@ISSDEVIDOMUNICIPIOCLIENTE,@QTDEVOLUME,@PERCENTBASEINSS,

@PERCBASEINSSEMPREGADO,@GRPFATURAMENTO,@TOLINFPRECO,@TOLSUPPRECO,@INCENTIVOFISCALMS,@CODAPURACAO,@INDESPECIAL,@CODAPURACAOE,@IDGRD,

@CODCOLUNA,@CODLINHA,@PRODUTOBASE,@MULTIPLOQTDECOMPRADA,@SERVICOPRODUTORMOFFICINA,@PRODUTOEPI,@MULTIPLOPRDVENDA,@CODIGOSERVICOFEDERAL,

@CODIGOEX,@CODTBORCAMENTO,@RECALCSALDO1,@RECALCSALDO2,@RECALCSALDO3,@RECALCSALDO4,@RECALCSALDO5,@RECALCSALDO6,@RECALCSALDO7,@RECALCSALDO8,

@RECALCSALDO9,@RECALCSALDO10,@IDPRDFISCALS,@IDPRDFISCALE,@CODCOLTBORCAMENTO

UPDATE basecopia.dbo.GAUTOINC SET VALAUTOINC=VALAUTOINC+1 WHERE CODCOLIGADA =@CODCOLIGADA AND CODAUTOINC = 'IDPRD'

end

close produto

deallocate produto

end

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Bom dia NIK,

Vá na estrutura da tabela TPRD e procure a constraint TXPRDCOD. Esta constraint está com chave única. Você está tentando inserir um código que já existe. Ou pode ser que nos dados em que está inserindo, possuem duplicidade no código.

Verifique não somente se os códigos estão duplicando nos dados já existentes na tabela, mas também nos dados que estão sendo inseridos.

Link to comment
Share on other sites

  • 0

Fulvio... obrigado por responder... porém, não tenho essa coluna na estrutura da tabela?

Sabe o que mais pode ser???

Obrigado

Bom dia NIK,

Vá na estrutura da tabela TPRD e procure a constraint TXPRDCOD. Esta constraint está com chave única. Você está tentando inserir um código que já existe. Ou pode ser que nos dados em que está inserindo, possuem duplicidade no código.

Verifique não somente se os códigos estão duplicando nos dados já existentes na tabela, mas também nos dados que estão sendo inseridos.

Link to comment
Share on other sites

  • 0

Boa tarde NIK,

A constraint se chama TXPRDCOD, e não a coluna. Quando é criada uma constraint, você pode colocar o nome que quiser. Identifique-a na estrutura e olhe em qual coluna a constraint está referenciando. :.)

Link to comment
Share on other sites

  • 0

Fulvio... verifiquei que realmente existem algumas constraints que impede o insert.

Tem como eu desabilitar essas constraint? o que devo fazer?

Minha sentença é assim

insert into baseteste.dbo.tprd

select * from baseoficial.dbo.tfab a

where not exists

(select * from baseteste.dbo.tfab where codcoligada = a.codcoligada and codfab = a.codfab)

and codcoligada = 2 and idprd = 1393

--------

E o erro é esse

Cannot insert duplicate key row in object 'TPRD' with unique index 'TXPRD_ID'.

-------

e no sp_help tprd esta assim

PKTPRD clustered, unique, primary key located on PRIMARY CODCOLIGADA, IDPRD

TXPRD_ID nonclustered, unique located on PRIMARY ID

TXPRDCDG nonclustered located on PRIMARY CODIGOPRD

TXPRDCOD nonclustered, unique, unique key located on PRIMARY CODCOLIGADA, CODIGOPRD

TXPRDFAB nonclustered located on PRIMARY CODCOLIGADA, NUMNOFABRIC, CODFAB, IDPRD

TXPRDFAN nonclustered located on PRIMARY NOMEFANTASIA, CODCOLIGADA

TXPRDID nonclustered located on PRIMARY IDPRD

TXPRDRED nonclustered, unique located on PRIMARY CODCOLIGADA, CODIGOREDUZIDO

-----

Mas o interessante é que quando executo a sentença para saber se existe o item na tabela teste... ele tras a linha, ou seja, significa que não existe naquela tabela a linha que pergunto, dessa forma eu deveria conseguir inserir... não é isso?

select * from baseoficial.dbo.tfab a

where not exists

(select * from baseteste.dbo.tfab where codcoligada = a.codcoligada and codfab = a.codfab)

and codcoligada = 2 and idprd = 1393

Caso possa me ajudar... agradeço

Obrigado

NIk

Link to comment
Share on other sites

  • 0

Bom dia NIK,

Tem como desativar sim as constraints... mas tem um problema:

- você desativa as constraints e insere os dados.

- Quando for ativar dará erro, pois será verificada as consistências.

- Você não conseguirá ativar as constraints até corrigir os registros que estão sem consistência.

- OBS.: tem como ativar as constraints sem fazer a verificação dos registros já inseridos, basta utilizar o NOCHECK. Mas aconselho a não mexer com isso, apenas em raras exceções.

Quando pesquisa na tabela, não encontra o item na tabela e mesmo assim dá erro de chave. Este problema é bem interessante, pois as vezes é muito dificil de detectar.

Na tabela não vai ter realmente o item. Então por que dá erro de chave? O item está DUPLICADO nos dados que estão sendo inderidos. Pesquise duplicidades nos dados que estão sendo inseridos. :.)

Link to comment
Share on other sites

  • 0

Fulvio... obrigado pela resposta...

Deixe me tirar uma duvida com você.

Essa base não tem inserção manual e essa tabela em especial farei inserção nela quando necessário somente via banco.

Teria problema deixar desabilitadas essas constraint??

Como faço para desabilita -las?

Obrigado

NIK

Link to comment
Share on other sites

  • 0

Boa tarde NIK,

Ativar e desativar:

ALTER TABLE XXXXX NOCHECK CONSTRAINT ALL

ALTER TABLE XXXXX CHECK CONSTRAINT ALL

O problema de deixar as constraints desativadas é não ter integridade na sua base. Elas ativas, o sql garante esta integridade. Se tirar as constraints, caberá a vc "administrar" a integridade.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...