Forum
See question

Qualidade de dados no Processo de Migração | Foreign Key   

1 views
0
0

Ao efetuar a migração da V9 para a V10, surge uma mensagem de erro:

  • The conflict occurred in database “PRIAAAAAA”, table “dbo.PlanosCriteriosDepreciacao”

Como posso resolver?

 

Faça login para poder traduzir
Plataforma
Primavera
Marked as spam
Criado há 4 anos e 1 semana maria
maria Most Valuable Professional
1 answers
0
Private answer

Em bases de dados com inconsistências nos dados, o processo de migração irá falhar com erros relacionados com chaves estrangeiras.

Exemplo:

The INSERT statement conflicted with the FOREIGN KEY constraint "FichasCriteriosDepreciacao_PlanosCriteriosDepreciacao_FK". The conflict occurred in database "PRIAAAAAA", table "dbo.PlanosCriteriosDepreciacao".

Este tipo de erro indica que existem registos na tabela 1 FichasCriteriosDepreciacao que referenciam campos da tabela 2 PlanosCriteriosDepreciacao e não existem na mesma.

Consultando no sql esta chave FichasCriteriosDepreciacao_PlanosCriteriosDepreciacao_FK , a mesma é sobre o campo plano e exercício. Desta forma é possível identificar os registos em falta na tabela 2 que estão referenciados na tabela 1. A solução passa por criar os mesmos:

select f.plano, f.exercicio from  [FichasCriteriosDepreciacao] F left join [PlanosCriteriosDepreciacao] p

on f.plano = p.plano and f.Exercicio= p.Exercicio

where p.plano  is null

group by f.plano, f.Exercicio

 

Exemplo

select tab1.campo from Tabela1 tab1 left join Tabela2 Tab2

on tab1.campo = tab2.campo

where tab2.campo  is null

group by tab1.campo

Faça login para poder traduzir
Marked as spam
Criado há 4 anos e 1 semana maria
maria Most Valuable Professional