Tutorial sobre gatilhos de SQL e procedimentos armazenados

Gatilhos e procedimentos armazenados são uma forma eficaz de interagir com bancos de dados.

Stored Procedures e Triggers dentro de um banco de dados são construções semelhantes. Ambos podem executar as mesmas instruções SQL. A maior diferença entre os dois é como eles são executados. Um procedimento armazenado tem de ser executada por um utilizador, enquanto um gatilho é executado pelo sistema como resultado de um evento. Eventos que causam gatilhos para serem ativados incluem inserções de dados, atualizações e exclusões. Uma desvantagem de usar gatilhos em vez de procedimentos armazenados é que eles não podem aceitar parâmetros.

Procedimentos armazenados

  • Use a instrução abaixo para criar um procedimento armazenado básica sem parâmetros.

    CRIAR PROCEDIMENTO mySproc
    COMO
    INÍCIO

    -- Instruções SQL

    FIM

  • Criar um procedimento armazenado com parâmetros basta copiar o código abaixo. Para passar um parâmetro com um valor padrão, inclua um sinal e o valor desejado é igual.

    CRIAR PROCEDIMENTO mySproc
    {

     @ Varchar Parâm1 (50),
    @ Param2 datetime = NULL,
    @ Param3 int = 0

    }
    COMO
    INÍCIO

    -- Instruções SQL

    FIM

  • Atualizar ou modificar um procedimento armazenado usando a "Alterar" comando do exemplo abaixo.

    ALTER PROCEDURE mySproc
    COMO
    INÍCIO

    -- Instruções SQL

    FIM

  • Remover um procedimento armazenado no banco de dados com o "Solta" de comando como mostrado abaixo.

    GOTA PROCEDIMENTO mySproc;

  • Executar o procedimento armazenado no SQL, executando os comandos abaixo. Se você incluir parâmetros, colocá-los na ordem em que é esperado pelo procedimento armazenado. Quaisquer cadeias passaram em deve ser entre aspas simples.

    Exemplo sem parâmetros:
    EXEC dbo.mySproc
    IR



    Exemplo com parâmetros:
    EXEC dbo.mySproc `dados de cadeia`, `1/1/1900`, 1;

Gatilhos

  • Adicionar um gatilho de base basta copiar o código abaixo.

    CREATE TRIGGER MyTrigger
    ON myTable
    APÓS INSERIR
    COMO
    INÍCIO

    -- Instruções SQL

    FIM

  • Faça um gatilho que vai correr atrás de vários eventos com os comandos abaixo.

    CREATE TRIGGER MyTrigger
    ON myTable
    APÓS INSERT, UPDATE, DELETE
    COMO
    INÍCIO

    -- Instruções SQL

    FIM

  • Modificar o seu disparo utilizando o "Alterar" comando.

    ALTER TRIGGER MyTrigger
    ON myTable
    APÓS INSERIR
    COMO
    INÍCIO

    -- Instruções SQL

    FIM

  • Executar as instruções de um gatilho, em vez dos comandos que causam o evento usando o "Ao invés de" comando. Por exemplo, se mySproc atualizou a myTable mesa, que causaria um evento UPDATE. Se você tivesse um gatilho criado para pegar esse evento que incluiu uma "Ao invés de" comando, o código do gatilho seria executado, eo código do procedimento armazenado nunca iria executar.

    CREATE TRIGGER MyTrigger
    ON myTable
    EM VEZ DE ATUALIZAÇÃO
    COMO
    INÍCIO

    -- Instruções SQL

    FIM

  • Remova o gatilho do banco de dados com o "Solta" de comando como mostrado abaixo.

    DROP TRIGGER MyTrigger;

dicas & avisos

  • Se você precisa criar gatilhos que são condicionais, você pode executar um no evento de atualização e use o comando de atualização para determinar se uma coluna específica mudou.
  • SE NÃO Update (MyColumn)
  • RETORNA
De esta maneira? Compartilhar em redes sociais:

LiveInternet