none
Como fazer uma Trigger que passa parâmetros para um Stored Procedure? RRS feed

  • Pergunta

  • Boa tarde.

    Gostaria de construir uma Trigger que, após o update em alguma linha da tabela, passe para uma SP o valor de duas colunas daquela linha. Monitorar qual coluna foi alterada eu sei, mas passar esses valores para uma SP está complicado.

    Obrigado pela atenção.

    quinta-feira, 26 de julho de 2012 19:40

Respostas

  • Erick, boa noite,

    como um exemplo vamos supor que você tem a seguinte estrutura:

    Tabela chamada 'cadastro' com tres campos: id int, nome varchar(50), telefone varchar(16)
    Stored procedure chamada 'STP_RECEBE_PARAMETROS' que receba parametros do tipo varchar.

    Para retornar à stored procedure os campos nome e telefone da tabela 'cadastro' quando estes forem atualizados, crie o trigger a seguir:

    CREATE TRIGGER TRG_TRANSFERE_DADOS ON CADASTRO
    AFTER UPDATE
    AS BEGIN
    DECLARE @PARAMETRO1 VARCHAR(50) = (SELECT NOME FROM INSERTED)
    DECLARE @PARAMETRO2 VARCHAR(16) = (SELECT TELEFONE FROM INSERTED)
    EXEC STP_RECEBE_PARAMETROS @PARAMETRO1, @PARAMETRO2
    END

    obs. Os tipos de dados na tabela, procedure e trigger tem que ser os mesmos.

    Se a resposta for de ajuda por favor marque-a como útil.


    • Marcado como Resposta Harley Araujo segunda-feira, 30 de julho de 2012 12:28
    sábado, 28 de julho de 2012 01:12