As vezes em migração de dados queremos fazer INSERT em tabelas que estão com relacionamentos com outras tabelas e no momento do INSERT ainda não temos todas as tabelas preenchidas.
Um comando que ajuda bastante é o que está abaixo. Ele desabilita os relacionamentos e você consegui fazer o INSERT sem problemas. Mas depois lembre-se de ligar novamente os relacionamentos.
1 2 3 4 5 6 7 |
-- DESABILITAR: ALTER TABLE <TABELA> NOCHECK CONSTRAINT <FK> <SEU INSERT> -- HABILITAR: ALTER TABLE <TABELA> CHECK CONSTRAINT <FK> |
Exemplo prático:
1 2 3 4 5 6 7 8 9 10 |
/* FAZ A MIGRAÇÃO DOS LIVROS */ -- DESABILITAR: ALTER TABLE dbo.tb_livro NOCHECK CONSTRAINT FK_TB_LIVRO_TB_AUTOR <INSERT> GO -- HABILITAR: ALTER TABLE dbo.tb_livro CHECK CONSTRAINT FK_TB_LIVRO_TB_AUTOR |