none
Dúvida em triggers RRS feed

  • Pergunta

  • Boa noite pessoal estou tentando apreender a criar minha primeira trigger...

    Vi alguns vídeos e consegui chegar a um código de trigger que ainda não sei se funciona da maneira que quero.

    Pra eu tentar fazer ele funcionar preciso saber se uma trigger aceita uma variável vinda da aplicação que neste caso é em C# pelo Visual Studio 2012.

    Por exemplo, um usuário digitou o número 1 que está em um atributo, assim desejo usar esse número na trigger antes de fazer o update ou insert no banco.

    Abaixo o código da trigger com o comentário onde desejo usar o número vindo da aplicação.

    CREATE

    TRIGGERLTRG_Organizar_Blocos

    ON[dbo].[Bloco]

    INSTEADOFINSERT,UPDATE

    AS

    BEGIN

    DECLARE@LINHASint

    SET@LINHAS=(SELECTCOUNT(idBloco)FROMBloco)

    WHILE@LINHAS<=posição //posicao deve receber o número digitado pelo usuário na aplicação

    BEGIN

    UPDATEBlocoSETposicao=posicao+1 whereposicao>=posicao

    END

    END

    GO

    Aguardo respostas.

    Obrigado.

    sexta-feira, 5 de julho de 2013 02:03

Todas as Respostas

  • Luiz. Bom dia!

    Triggers não aceitam input de variaveis de forma nativa. Claro, voce sempre pode fazer gambiarras mas não é recomendado e daria muito trabalho. Em triggers voce consegue ter acesso (No caso de um update por exemplo) ao valor que esta entrando e ao valor que esta saindo dos campos através das tabelas inserted e deleted.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    sexta-feira, 5 de julho de 2013 12:11
    Moderador