15.05.2013 Views

Restrições de Integridade Integridade Semântica - DIMAp

Restrições de Integridade Integridade Semântica - DIMAp

Restrições de Integridade Integridade Semântica - DIMAp

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Gatilho - Trigger<br />

• Execução automática <strong>de</strong> modificações no<br />

BD para garantia <strong>de</strong> integrida<strong>de</strong><br />

• Princípio <strong>de</strong> funcionamento<br />

– evento-[condição]-ação<br />

• Especificação <strong>de</strong> um trigger<br />

– evento que o dispara: comando atualização<br />

– condição (opcional): predicado<br />

– ação(ões) a realizar: comandos SQL ou<br />

execução <strong>de</strong> procedimentos (stored<br />

procedures)<br />

Exemplos <strong>de</strong> Gatilho<br />

a) create trigger EmpréstimoLiquidado<br />

after update on Empréstimos<br />

(<strong>de</strong>lete from Empréstimos<br />

where valorTotal = 0)<br />

b) create trigger SalárioInjusto<br />

after insert, update on Empregados<br />

if exists (select *<br />

from Empregados<br />

where estadoCivil = ´casado´<br />

and salário < 250.00)<br />

begin<br />

print ‘salário injusto para o estado civil!’<br />

exec CorrigeSalário<br />

end<br />

c) create trigger AumentoSalário<br />

before update on Empregados<br />

referencing NEW salário as SalárioNovo when<br />

salário > SalárioNovo<br />

(Rollback Transaction)<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!