Sistema de informação

1564 palavras 7 páginas
Exemplos de triggers (cont) 2. Alteracao do sal´ rio de um ou mais empregados ¸˜ a 3. Mudanca de empregados de um departamento para outro. ¸
R2: CREATE TRIGGER TotalSal2 AFTER UPDATE OF Salario ON Empregado FOR EACH ROW WHEN (NEW.Ndep IS NOT NULL) UPDATE Departamento SET TotalSal=TotalSal+NEW.Salario-OLD.Salario WHERE Dnum=NEW.Ndep; R3: CREATE TRIGGER TotalSal3 AFTER UPDATE OF Ndep ON Empregado FOR EACH ROW BEGIN UPDATE Departamento SET TotalSal=TotalSal+NEW.Salario WHERE Dnum=NEW.Ndep; UPDATE Departamento SET TotalSal=TotalSal-OLD.Salario WHERE Dnum=OLD.Ndep; END;
42

Exemplos de triggers (cont) 4. Remover um ou mais empregados.
R4: CREATE TRIGGER TotalSal4 AFTER DELETE ON Empregado FOR EACH ROW WHEN (OLD.Ndep IS NOT NULL) UPDATE Departamento SET TotalSal=TotalSal-OLD.Salario WHERE Dnum=OLD.Ndep;

43

Triggers (cont.)

A execucao da accao pode ser condicionada: ¸˜ ¸˜
´ – AFTER – a condicao WHEN e testada depois do evento-de-disparo. ¸˜ ´ – BEFORE – a condicao WHEN e testada antes do evento-de-disparo. ¸˜ – INSTEAD OF – a accao e executada se a condicao WHEN se verifica e o evento-de-disparo n˜ o ¸˜ ´ ¸˜ a ´ e executado.

Eventos-de-disparo: UPDATE, INSERT, DELETE.

FOR EACH ROW

– especifica que a regra vai ser disparada uma vez por cada linha (tuplo) afectada pelo evento-de-disparo.

CREATE TRIGGER nome_trigger (AFTER|BEFORE) trigger-eventos ON nome-tabela [FOR EACH ROW] [WHEN condicao] ¸˜ trigger-acc˜o; ¸a =ALL (SELECT SUM(Durac˜o) FROM Filme GROUP BY Est´dio); ¸a u
2- O sal´ rio de um empregado n˜ o pode ser maior do que o sal´ rio do director do departamento onde o empregado trabalha. a a a

CREATE ASSERTION TectoSalario CHECK (NOT EXISTS (SELECT * FROM Empregado E, Empregado S, Departamento D WHERE E.Salario>S.Salario AND E.Ndep=D.Dnum AND D.DirBI=S.EBI));
38

Triggers (gatilhos) em SQL3

Baseiam-se em regras do tipo evento-condic ao-accao (ECA) ¸˜ ¸˜ – O evento que faz disparar o trigger. S˜ o normalmente operacoes

Relacionados

  • Sistemas de Informacao
    1276 palavras | 6 páginas
  • Sistemas de informaçao
    2379 palavras | 10 páginas
  • sistema de informaçao
    2489 palavras | 10 páginas
  • sistema de informação
    5179 palavras | 21 páginas
  • Sistema de informaçao
    4961 palavras | 20 páginas
  • Sistemas de Informação
    1149 palavras | 5 páginas
  • Sistemas de informaçao
    2520 palavras | 11 páginas
  • Sistema de Informaçaõ
    1172 palavras | 5 páginas
  • Sistemas de Informação
    2011 palavras | 9 páginas
  • Sistema de informação
    1062 palavras | 5 páginas