Diferença entre gatilho e procedimento

Autor: Laura McKinney
Data De Criação: 1 Abril 2021
Data De Atualização: 10 Poderia 2024
Anonim
Diferença entre gatilho e procedimento - Tecnologia
Diferença entre gatilho e procedimento - Tecnologia

Contente


Gatilho e Procedimento são componentes do SQL avançado. Disparo e Procedimento executam uma tarefa especificada em sua execução. A diferença fundamental entre Trigger e Procedimento é que o Desencadear executa automaticamente nas ocorrências de um evento, enquanto o Procedimento é executado quando é explicitamente invocado.

Vamos discutir mais algumas diferenças entre acionador e procedimento com a ajuda de um gráfico de comparação mostrado abaixo.

  1. Gráfico de comparação
  2. Definição
  3. Principais diferenças
  4. Conclusão

Gráfico de comparação

Base para ComparaçãoGatilhosProcedimentos
Basic Eles são executados automaticamente na ocorrência de evento especificado.Eles podem ser executados sempre que necessário.
ChamandoOs gatilhos não podem ser chamados dentro de um procedimento.Mas, você pode chamar um procedimento dentro de um gatilho.
Parâmetro Não podemos passar parâmetros para gatilhos.Podemos passar parâmetros para procedimentos.
RetornaO gatilho nunca retorna valor na execução.O procedimento pode retornar valores na execução.


Definição de gatilho

O gatilho é como um procedimento que é executado automaticamente na ocorrência de um evento especificado. Como o procedimento, o gatilho não precisa ser chamado explicitamente. Os gatilhos são criados para executar alguma tarefa em resposta à ocorrência de algum evento especificado.

O gatilho pode ser chamado em resposta ao DDL instruções (DELETE, INSERT ou UPDATE) ou DML (DELETE, INSERT ou UPDATE) ou, para algumas operações do banco de dados (SERVERERROR, LOGON, LOGOFF, STARTUP ou SHUTDOWN).

O gatilho consiste em três componentes, conforme discutido abaixo:

  • Evento: Event é a ocorrência de algum incidente que causará a execução do gatilho. O gatilho pode ser solicitado para executar ANTES ocorre um evento ou pode ser solicitado para ser executado DEPOIS DE a execução de um evento.
  • Condição: É uma parte opcional do gatilho. Se não mencionado, o gatilho será executado conforme o evento especificado ocorrer. Se a condição for especificada, ele verificará as regras para determinar se o gatilho deve ser executado.
  • Açao: Action é um conjunto de instruções SQL que serão executadas na execução do Trigger.

A forma geral de criação de um evento é discutida abaixo:


CRIAR TRIGGER ANTES DEPOIS AÇÃO DE CONDIÇÃO;

Aqui, a condição é opcional.

Definição de Procedimentos

O procedimento pode ser tomado como uma unidade de programa, criada para executar alguma tarefa e é armazenada no banco de dados. Eles são chamados pela instrução SQL sempre que necessário. Os procedimentos são como funções definidas pelo usuário, definidas pelos desenvolvedores. Os procedimentos podem ser chamados usando LIGAR ou EXECUTAR.

Os procedimentos são úteis nas seguintes situações:

  • Se o procedimento for exigido por vários outros aplicativos, ele poderá ser armazenado no servidor para que possa ser chamado por qualquer aplicativo. Isso reduzirá o esforço de duplicação do procedimento de um banco de dados para outro e também melhorará a modularidade do software.
  • Como o procedimento está sendo executado no servidor, ele reduzirá a transferência de dados e também o custo de comunicação.
  • Os procedimentos podem ser usados ​​para verificar as restrições complexas que estão além do poder do gatilho.

Vamos discutir a forma geral de criar um procedimento:

CRIAR PROCEDIMENTO () DEVOLUÇÃO ;

Aqui, os parâmetros e as declarações locais são opcionais. Eles são mencionados apenas quando são necessários. A declaração abaixo descreve a chamada dos procedimentos.

LIGAR () ;

  1. A principal diferença entre gatilho e procedimento é que um gatilho é uma instrução que é invocada automaticamente quando um evento ocorre. Por outro lado, o procedimento é chamado sempre que necessário.
  2. Pode-se definir o procedimento dentro de um gatilho. Mas, um gatilho nunca é definido dentro de um procedimento, pois ele deve ser chamado automaticamente na ocorrência de qualquer evento.
  3. Podemos passar parâmetros para procedimentos, mas não podemos passar parâmetros para disparar, pois não são invocados por nós.
  4. Um procedimento pode retornar valores ou código de parâmetro, mas um gatilho não pode.

Conclusão:

Os gatilhos são úteis, mas são evitados se houver alguma alternativa a eles, pois aumenta a complexidade dos dados. Às vezes, os gatilhos também são substituídos por um procedimento apropriado.