Inserção de dados entre tabelas com trigger
09/06/2006
0
Por favor, estou precisando de ajuda para montar uma trigger. Estudei pelo livro que tenho, olhei todos os tópicos e até achei um postado pela scristina que se aproxima bastante do meu problema, mas eu não consegui entender. E tenho pra mim que o meu problema está relacionado justamente com as tabela inserted e deleted da trigger. Acho que eu não entendi direito como elas funcionam ou talvez eu não possa fazer o detalhe que quero com uma trigger.
Bom, sem mais delongas...
A trigger que fiz é seguinte:
CREATE TRIGGER T_TRANSF ON TITMMOV
AFTER INSERT AS
BEGIN
INSERT INTO TITMMOVRATDEP SELECT TITMMOV.CODCOLIGADA, TITMMOV.IDMOV, TITMMOV.NSEQITMMOV, TITMMOV.CODFILIAL,
TITMMOV.CODTB1FLX, TITMMOV.QUANTIDADE*TITMMOV.PRECOUNITARIO, 100 FROM TITMMOV
END
Eu preciso passar as informações da tabela TITMMOV para a TITMMOVRATDEP toda vez que a tabela TITMMOV receber novas informações. Tô achando que eu preciso colocar a tabela inserted em algum lugar. Já fiz uns testes mas não funcionou.
Alguém sabe o que devo fazer?
Desde já, agradeço e fico na torcida.
Valeu pessoal.
Ricardo78
Curtir tópico
+ 0Posts
09/06/2006
Wcrivelini
Usando FROM TITMMOV, pra cada registro que vc inserir em TITMMOV, o trigger vai inserir TODOS os registros da tabela TITMMOV na tabela TITMMOVRATDEP
Me parece que o que vc queria fazer é só inserir o novo registro. Então use FROM INSERTED
Gostei + 0
09/06/2006
Ricardo78
Tô começando a achar que preciso detalhar mais o select do insert, pois alguns campos que necessito fazem parte da tabela TITMMOV mas tem origem em outras tabelas. Devo precisar fazer alguns relacionamentos, não acha?!
Se tiver alguma outra idéia, por favor, me avise. Toda ajuda será bem vinda e agradecida desde já. :wink:
Saudações a todos.
Gostei + 0
15/06/2006
Psergio.p
CREATE TRIGGER T_TRANSF ON TITMMOV
AFTER INSERT AS
BEGIN
INSERT INTO TITMMOVRATDEP SELECT CODCOLIGADA, IDMOV, NSEQITMMOV,CODFILIAL,
CODTB1FLX,QUANTIDADE*PRECOUNITARIO, 100 FROM inserted
END
:D
Gostei + 0
16/06/2006
Ricardo78
Tentei desta forma como o wcrivelini havia dito também, mas não funcionou. Parece que eu tenho que detalhar mais a minha pesquisa e estudar mais as amarrações das tabelas do banco.
Se tiver outra idéia, agradeço desde já.
De qualquer maneira, muito obrigado pela ajuda. :)
Até +.
Gostei + 0
16/06/2006
Psergio.p
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)