none
Inserção de novos registos em tabelas relacionadas (mãe e filha) através de um trigger RRS feed

  • Pergunta

  • Pretendo escrever um Trigger sobre uma tabela (tabela 1) que, ao disparar, deverá preencher uma outra tabela (tabela 2) {com dados produzidos (calculados) a partir dos dados da primeira tabela (tabela 1)} e respectiva tabela filha (tabela 3). Assumo que devo primeiro escrever sobre a tabela mãe (tabela 2) e só depois descrever os dados sobre a tabela 3. Como é que deve referenciar as tabelas 2 e 3? (Sei que a tabela 1 é referenciada através do registo temporário "Inserted").
    sábado, 9 de junho de 2018 19:20

Todas as Respostas

  • Ilidio,

    Tanto os novos dados definidos na tabela Inserted, como os dados "considerados velhos" definidos na tabela Deleted pertencem a tabela que esta atribuída ao Trigger, neste caso a sua tabela Mãe.

    O que você pode fazer é definir um trigger After Insert na tabela Mãe que justamente pega o novo dado na Inserted e realiza um Insert dentro das tabelas 2 e 3.

    Isso pode ser feito tranquilamente dentro do Trigger, utilizando em seu código o comando Insert com base no Select dos dados obtidos na tabela Inserted.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    segunda-feira, 25 de junho de 2018 13:14