Guest User

Untitled

a guest
Jul 19th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. Faça uma trigger que execute uma verificação
  2. antes de atualizar, verificando se o valor
  3. atualizado do salário do funcionário é menor
  4. que o valor antigo, apresentando um erro.
  5.  
  6. CREATE OR REPLACE TRIGGER TRIGGER_EXE2
  7. BEFORE UPDATE
  8. OF
  9. CAR_SALARIOBASE
  10. ON
  11. TB_CARGO
  12. FOR EACH ROW
  13. BEGIN
  14. IF UPDATING THEN
  15. IF :NEW.CAR_SALARIOBASE < :OLD.CAR_SALARIOBASE THEN
  16. RAISE_APPLICATION_ERROR(-20500,'O novo salário é inferior ao antigo salário.');
  17. END IF;
  18. END IF;
  19. END;
  20.  
  21.  
  22. /* Faça uma trigger que adicione em um arquivo de LOG, todos os dados da tabela de cliente
  23. quando forem deletados fora do período compreendido entre as 08:00 as 12:00 e das
  24. 14:00 as 16:00 e que ainda indique quem realizou a deleção e o horário que o registro foi deletado. */
  25. CREATE OR REPLACE TRIGGER LOG_CLIENTE
  26. BEFORE DELETE ON TB_CLIENTE
  27. FOR EACH ROW
  28. BEGIN
  29. IF DELETING THEN
  30. IF (TO_CHAR(SYSDATE,'HH24:MI') NOT BETWEEN '08:00' AND '12:00') AND
  31. (TO_CHAR(SYSDATE,'HH24:MI') NOT BETWEEN '14:00' AND '16:00') THEN
  32.  
  33. INSERT INTO TB_LOGCLIENTE (CLI_CODBAIRRO , CLI_CODCIDADE , CLI_CODENDERECO , CLI_CODIGO ,
  34. CLI_CPF , CLI_FONE , CLI_NOME , CLI_NUMERO , CLI_OPERACAO , CLI_PRAZODEVOL , CLI_RG )
  35. (SELECT
  36. CLI_CODBAIRRO , CLI_CODCIDADE , CLI_CODENDERECO , CLI_CODIGO ,
  37. CLI_CPF , CLI_FONE , CLI_NOME , CLI_NUMERO , SUBSTR(USER||':'||TO_CHAR(SYSDATE,'HH24:MI'),1,15) ,
  38. CLI_PRAZODEVOL , CLI_RG
  39. FROM TB_CLIENTE);
  40.  
  41. END IF;
  42. END IF;
  43. END;
Add Comment
Please, Sign In to add comment