Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Copiando linhas em um banco de dados quando as linhas têm filhos


Você pode escrever um procedimento armazenado que implemente toda a lógica de cópia.

Essencialmente:
  1. Insira a linha de cópia na tabela mestre - armazene o novo ID na variável
  2. Insira a cópia de cada linha nas tabelas filhas, referenciando FK na variável. Armazene o ID da linha filha na variável2
  3. Insira novas linhas em tabelas dependentes da tabela filha, referenciando o FK na variável2.

Resumindo, escreva um proc armazenado que comece no topo e desça quantas tabelas forem necessárias.