TRIGGER
Boa tarde pessoal!
Estou trabalhando com o SQL Server 2008.
Nele tenho 2 BANCOS:
- O BANCO01 eh do meu sistema;
- O BANCO02 eh do sistema de outra empresa.
No BANCO01 tenho uma tabela de FUNCIONARIOS e no BANCO02 tambem tem uma tabela de FUNCIONARIOS (os mesmos funcionarios nos 2 bancos).
Preciso de uma TRIGGER que quando for alterado o status do funcionário no BANCO02 altere também o status no BANCO01
Alguém pode me ajudar?
Grato
Estou trabalhando com o SQL Server 2008.
Nele tenho 2 BANCOS:
- O BANCO01 eh do meu sistema;
- O BANCO02 eh do sistema de outra empresa.
No BANCO01 tenho uma tabela de FUNCIONARIOS e no BANCO02 tambem tem uma tabela de FUNCIONARIOS (os mesmos funcionarios nos 2 bancos).
Preciso de uma TRIGGER que quando for alterado o status do funcionário no BANCO02 altere também o status no BANCO01
Alguém pode me ajudar?
Grato
Boa tarde pessoal!
Consegui resolver uma parte. Porém ainda preciso de ajuda
Olhem só os teste que realizei:
Primeiro criei 2 tabelas (TBTESTE e TBTESTE2)
as duas com a seguinte estrutura:
COLUNA TIPO TAMANHO
ID INT 4
DESCRICAO VARCHAR 50
STATUS CHAR 1
Depois insiro dados identicos nas duas:
ID DESCRICAO STATUS
1 TESTE1 A
2 TESTE2 A
3 TESTE3 A
Depois rodo essa TRIGGER que eu criei:
[txt-color=#007100]Create trigger
TRIGGERTESTE
on
TBTESTE for update as
if (select count (*) from deleted) <> 0
Update A set A.status = B.STATUS
FROM
TBTESTE2 as A
Inner join
TBTESTE as B
on
A.ID=B.ID
Where
A.STATUS != B.STATUS
print [ô]DADOS ATUALIZADOS[ô][/txt-color]
Em seguida rodo um intrução de atualização de registros como segue abaixo:
[txt-color=#007100]Update TBTESTE set status = [ô]D[ô] where ID = 2[/txt-color]
Funciona perfeitamente. Quando altero o status de algum registro da TBTESTE automaticamente altera na TBTESTE2.
Porém, as duas tabelas estão no mesmo banco
Como faço isso estando as duas tabelas em bancos diferentes
Consegui resolver uma parte. Porém ainda preciso de ajuda
Olhem só os teste que realizei:
Primeiro criei 2 tabelas (TBTESTE e TBTESTE2)
as duas com a seguinte estrutura:
COLUNA TIPO TAMANHO
ID INT 4
DESCRICAO VARCHAR 50
STATUS CHAR 1
Depois insiro dados identicos nas duas:
ID DESCRICAO STATUS
1 TESTE1 A
2 TESTE2 A
3 TESTE3 A
Depois rodo essa TRIGGER que eu criei:
[txt-color=#007100]Create trigger
TRIGGERTESTE
on
TBTESTE for update as
if (select count (*) from deleted) <> 0
Update A set A.status = B.STATUS
FROM
TBTESTE2 as A
Inner join
TBTESTE as B
on
A.ID=B.ID
Where
A.STATUS != B.STATUS
print [ô]DADOS ATUALIZADOS[ô][/txt-color]
Em seguida rodo um intrução de atualização de registros como segue abaixo:
[txt-color=#007100]Update TBTESTE set status = [ô]D[ô] where ID = 2[/txt-color]
Funciona perfeitamente. Quando altero o status de algum registro da TBTESTE automaticamente altera na TBTESTE2.
Porém, as duas tabelas estão no mesmo banco
Como faço isso estando as duas tabelas em bancos diferentes
Primeiro você tem que garantir que o BANCO01 tem permissão de UPDATE em BANCO02.TBTESTE2.
Depois é só arrumar sua trigger, passando também o owner:
...
FROM
BANCO02.TBTESTE2 as A
Inner join
...
Boa sorte,
FLIMA.
Depois é só arrumar sua trigger, passando também o owner:
...
FROM
BANCO02.TBTESTE2 as A
Inner join
...
Boa sorte,
FLIMA.
Pessoal dei uma pesquisada em alguns sites e consegui resolver meu problema da forma que segue abaixo
é lógico que eu tenho q ter permissão no banco.
Grato pela atenção
Citação:Create trigger
TRIGGERTESTE
on
dbo.TBTESTE3 for update as
if (select count (*) from deleted) <> 0
Update B set B.status = A.STATUS
FROM
dbo.TBTESTE3 as A
Inner join
BANCO2.dbo.TBTESTE as B
on
A.ID=B.ID
Where
A.STATUS != B.STATUS
print [ô]DADOS ATUALIZADOS[ô]
é lógico que eu tenho q ter permissão no banco.
Grato pela atenção
Tópico encerrado , respostas não são mais permitidas