none
trigger RRS feed

Respostas

  • CREATE TRIGGER NomeTrigger ON Tabela

    AFTER INSERT, UPDATE, DELETE

    AS

    Begin

      -- Instruções sobre o que a trigger irá fazer

    End


    Roberson Ferreira - Database Developer

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    • Marcado como Resposta Eder Costa quarta-feira, 15 de junho de 2011 15:28
    sexta-feira, 10 de junho de 2011 19:55
    Moderador
  • Você também pode criar triggers separadas, uma para cada tipo de operação:

    CREATETRIGGER NomeTrigger ON Tabela AFTER INSERT AS

    Begin

      -- Instruções sobre o que a trigger irá fazer

    End 

     

    CREATETRIGGER NomeTrigger ON Tabela AFTER UPDATE AS

    Begin

      -- Instruções sobre o que a trigger irá fazer

    End 

     

    CREATETRIGGER NomeTrigger ON Tabela AFTERDELETE AS

    Begin

      -- Instruções sobre o que a trigger irá fazer

    End 


    Roberson Ferreira - Database Developer

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    • Marcado como Resposta Eder Costa quarta-feira, 15 de junho de 2011 15:28
    sexta-feira, 10 de junho de 2011 19:56
    Moderador
  • Luiz,

     

    A sintaxe segue abaixo, e na parte onde esta o print, deve-se colocar o processamento desejado:

     

    --INSERT

    CREATE TRIGGER I_id ON id

    FOR INSERT

    AS

    BEGIN

    PRINT('Inseriu')

    END

     

    --DELETE

    CREATE TRIGGER D_id ON id

    FOR DELETE

    AS

    BEGIN

    PRINT('Deletou')

    END

     

    --UPDATE

    CREATE TRIGGER U_id ON id

    FOR UPDATE

    AS

    BEGIN

    PRINT('Update')

    END

     

     

    E dentro delas, voce pode utilizar de 2 "tabelas" especiais que ocorrem apenas em instantes DML, são elas a tabela INSERTED (Que contem todos os dados que estão sendo inseridos atravez de um comando insert ou o novo dado atravez de um comanod update), e a DELETED (Que contem todos os dados que estão sendo substituidos ou deletador pelos comandos update e delete reespectivamente)


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com
    • Sugerido como Resposta Erickson F. D. Ricci sexta-feira, 10 de junho de 2011 20:59
    • Marcado como Resposta Eder Costa quarta-feira, 15 de junho de 2011 15:28
    sexta-feira, 10 de junho de 2011 19:57
    Moderador

Todas as Respostas

  • CREATE TRIGGER NomeTrigger ON Tabela

    AFTER INSERT, UPDATE, DELETE

    AS

    Begin

      -- Instruções sobre o que a trigger irá fazer

    End


    Roberson Ferreira - Database Developer

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    • Marcado como Resposta Eder Costa quarta-feira, 15 de junho de 2011 15:28
    sexta-feira, 10 de junho de 2011 19:55
    Moderador
  • Você também pode criar triggers separadas, uma para cada tipo de operação:

    CREATETRIGGER NomeTrigger ON Tabela AFTER INSERT AS

    Begin

      -- Instruções sobre o que a trigger irá fazer

    End 

     

    CREATETRIGGER NomeTrigger ON Tabela AFTER UPDATE AS

    Begin

      -- Instruções sobre o que a trigger irá fazer

    End 

     

    CREATETRIGGER NomeTrigger ON Tabela AFTERDELETE AS

    Begin

      -- Instruções sobre o que a trigger irá fazer

    End 


    Roberson Ferreira - Database Developer

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    • Marcado como Resposta Eder Costa quarta-feira, 15 de junho de 2011 15:28
    sexta-feira, 10 de junho de 2011 19:56
    Moderador
  • Luiz,

     

    A sintaxe segue abaixo, e na parte onde esta o print, deve-se colocar o processamento desejado:

     

    --INSERT

    CREATE TRIGGER I_id ON id

    FOR INSERT

    AS

    BEGIN

    PRINT('Inseriu')

    END

     

    --DELETE

    CREATE TRIGGER D_id ON id

    FOR DELETE

    AS

    BEGIN

    PRINT('Deletou')

    END

     

    --UPDATE

    CREATE TRIGGER U_id ON id

    FOR UPDATE

    AS

    BEGIN

    PRINT('Update')

    END

     

     

    E dentro delas, voce pode utilizar de 2 "tabelas" especiais que ocorrem apenas em instantes DML, são elas a tabela INSERTED (Que contem todos os dados que estão sendo inseridos atravez de um comando insert ou o novo dado atravez de um comanod update), e a DELETED (Que contem todos os dados que estão sendo substituidos ou deletador pelos comandos update e delete reespectivamente)


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com
    • Sugerido como Resposta Erickson F. D. Ricci sexta-feira, 10 de junho de 2011 20:59
    • Marcado como Resposta Eder Costa quarta-feira, 15 de junho de 2011 15:28
    sexta-feira, 10 de junho de 2011 19:57
    Moderador
  • Luiz, e se você quiser um conhecimento amplo sobre construção de trigger's, acesse http://msdn.microsoft.com/pt-br/library/ms189799.aspx.

    Abraço.


    Roberson Ferreira - Database Developer

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    sexta-feira, 10 de junho de 2011 22:21
    Moderador