Usuário com melhor resposta
Copia automatica de dados de uma tabela par outra tabela

Pergunta
-
Bom dia..
Gostaria de saber se é possível eu copiar automaticamente dados de uma tabela que esta em um banco de dados, par outra tabela de outro banco de dados, isso no sql server 2012, os dois bancos de dados estão no mesmo server, e se for possível como fazer, e também se este procedimento atrapalha o desempenho do banco de dados.
Desde já agradeço.
JUNIOR GUERREIRO T.I
Respostas
-
Junior, o que você precisa nesse caso é uma TRIGGER.
Pesquise melhor sobre TRIGGERs no SQL SERVER
Uma trigger é um evento que é disparado automaticamente (antes ou depois) de uma atualização.
Por exemplo: AFTER INSERT (depois do INSERT) em uma tabela.
Vide a documentação oficial:
Caso não se resolver com isso, ou tiver mais alguma dúvida que eu possa ajudar, poste aqui por favor.
Um grande abraço.
Anderson.
- Editado Anderson H. Meneghesso quinta-feira, 14 de junho de 2018 12:24
- Marcado como Resposta Junior Guerreiro quinta-feira, 14 de junho de 2018 13:56
-
Olá Junior,
O link que coloquei na resposta anterior é a documentação oficial da própria Microsoft, contendo todos os parâmetros e entendimentos para criação de triggers.
No seu caso, você precisa de uma trigger "AFTER INSERT"
Por favor, não se esqueça de clicar em "Votar como útil" e "Marcar como Resposta". Isso é muito importante.
Bons estudos.
Anderson.
- Marcado como Resposta Junior Guerreiro quinta-feira, 14 de junho de 2018 13:57
Todas as Respostas
-
Olá Junior, bom dia.
Não sei se entendi muito bem, mas o que me parece é que você precisa fazer o INSERT do resultado de um SELECT.
Se assim for, imagine o seguinte cenário:
databases: empresa1 e empresa2
Ambos com a tabela produtos com a estrutura
Codigo Int
Descricao Varchar(50)
Unidade char(2)
Se você desejar inserir os dados do database2 em database1
INSERT INTO EMPRESA1.PRODUTOS (CODIGO, DESCRICAO, UNIDADE) SELECT CODIGO, DESCRICAO, UNIDADE FROM EMPRESA2.PRODUTOS P2 WHERE NOT EXISTS (SELECT CODIGO FROM EMPRESA1.PRODUTOS P1 WHERE P1.CODIGO = P2.CODIGO)
Agora referente ao seu questionamento se isso atrapalha o desemprenho....
Essa resposta depende de vários fatores:
- Quantidade de registros envolvidos;
- Índices afetados;
- Concorrência com os dados;
- Consultas que não utilizando (nolock);
- entre outros;
Espero ter ajudado. boa sorte!
Um grande abraço.
Anderson.
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Editado Anderson H. Meneghesso quinta-feira, 14 de junho de 2018 11:46
-
Bom dia Anderson, e obrigado pela atenção.
Então não e isso não que estou pensando em fazer, e como um replace de banco de dados, por exemplo, quando realizo um insert na tabela A este insert também e feito na tabela B, isso automaticamente.
JUNIOR GUERREIRO T.I
-
Junior, o que você precisa nesse caso é uma TRIGGER.
Pesquise melhor sobre TRIGGERs no SQL SERVER
Uma trigger é um evento que é disparado automaticamente (antes ou depois) de uma atualização.
Por exemplo: AFTER INSERT (depois do INSERT) em uma tabela.
Vide a documentação oficial:
Caso não se resolver com isso, ou tiver mais alguma dúvida que eu possa ajudar, poste aqui por favor.
Um grande abraço.
Anderson.
- Editado Anderson H. Meneghesso quinta-feira, 14 de junho de 2018 12:24
- Marcado como Resposta Junior Guerreiro quinta-feira, 14 de junho de 2018 13:56
-
-
Olá Junior,
O link que coloquei na resposta anterior é a documentação oficial da própria Microsoft, contendo todos os parâmetros e entendimentos para criação de triggers.
No seu caso, você precisa de uma trigger "AFTER INSERT"
Por favor, não se esqueça de clicar em "Votar como útil" e "Marcar como Resposta". Isso é muito importante.
Bons estudos.
Anderson.
- Marcado como Resposta Junior Guerreiro quinta-feira, 14 de junho de 2018 13:57
-