Search Header Logo
Triggers

Triggers

Assessment

Presentation

Computers

11th Grade

Easy

Created by

José Pombo

Used 7+ times

FREE Resource

11 Slides • 2 Questions

1

Trigger

Desencadear

Slide image

2

1 - O que são?

Um trigger (“desencadear”) é um objeto programável (código) da base de dados, associado a uma tabela.

Trata-se de um procedimento que é invocado automaticamente quando um comando DML (Data Manipulation Language - INSERT, UPDATE e DELETE) é executado na tabela, sendo executado para cada linha afetada.

Geralmente, os triggers são utilizados para verificar integridade e validação de dados e outras operações relacionadas.

3

2 - Aplicações dos triggers

Principais aplicações dos triggers:

 

·       Validação de Dados (tipos de dados, limites de valores, etc);

·       Rastreamento e registo de logs de atividades em tabelas;

·       Verificação de integridade de dados e consistência;

·       Arquivo de registos eliminados.

4

3 - Modos de Disparo de um Trigger

Um Trigger em MySQL pode ser “disparado” de dois modos diferentes:

 

·       BEFORE – O trigger é disparado e o respetivo código executado ANTES da execução de cada evento – por exemplo, antes de cada inserção de registos na tabela.

·       AFTER – O código no trigger é executado APÓS as ações terem sido completadas na tabela especificada.

5

Multiple Select

Seleciona a(s) alínea(s) que correspondam a um modo de ativação de um trigger.

1

Betwenn

2

Beford

3

Now

4

After

6

4 - Sintaxe para criação de um trigger

Para criar um trigger em MySQL usamos a seguinte sintaxe:

 

CREATE TRIGGER nome timing operação

ON tabela

FOR EACH ROW

declarações


Onde:

·       timing pode ser BEFORE ou AFTER

·       operação pode ser INSERT / UPDATE / DELETE


 

 

7

Fill in the Blank

Completa a seguinte frase:

operação pode ser INSERT / UPDATE / _____________

8

5 – Exemplo

Vamos criar a tabela Livro, que conterá os seguintes campos:

·       Nome do livro

·       Identificação do livro (chave primária)

·       Preço normal

·       Preço com desconto a ser aplicado

A seguir vamos criar um trigger chamado desconto, cuja função será aplicar um valor de desconto de 7% à coluna Preco_desconto quando for ativado. Ou seja, todos os produtos terão o seu preço reduzido 7% nesta coluna.

Concluindo ao inserir um novo registo na tabela o trigger será disparado.

9

5.1 - Criar a tabela Produto:

CREATE TABLE livro (

idlivro INT NOT NULL AUTO_INCREMENT,

nome_livro VARCHAR(45) NULL,

preco_normal DECIMAL(10,2) NULL,

preco_desconto DECIMAL(10,2) NULL,

PRIMARY KEY (idlivro));

 

10

5.2 - Criar o Trigger:

CREATE TRIGGER desconto BEFORE INSERT

ON livro

FOR EACH ROW

SET NEW.preco_desconto = (NEW.preco_normal * 0.93);

11

5.3 - Criar uma inserção para desencadear o trigger

INSERT INTO livro (idlivro, nome_produto, preco_normal)

VALUES (null, ‘Maias’, 11.00);


12

5.4 - Verificar se o trigger foi desencadeado

SELECT * FROM livro;

13

6 - Eliminar um trigger

Para excluir um trigger usamos a declaração DROP TRIGGER seguida do nome do trigger.

Exemplo:

DROP TRIGGER tr_desconto;



Trigger

Desencadear

Slide image

Show answer

Auto Play

Slide 1 / 13

SLIDE

Discover more resources for Computers