Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Faça uma trigger que execute uma verificação
- antes de atualizar, verificando se o valor
- atualizado do salário do funcionário é menor
- que o valor antigo, apresentando um erro.
- CREATE OR REPLACE TRIGGER TRIGGER_EXE2
- BEFORE UPDATE
- OF
- CAR_SALARIOBASE
- ON
- TB_CARGO
- FOR EACH ROW
- BEGIN
- IF UPDATING THEN
- IF :NEW.CAR_SALARIOBASE < :OLD.CAR_SALARIOBASE THEN
- RAISE_APPLICATION_ERROR(-20500,'O novo salário é inferior ao antigo salário.');
- END IF;
- END IF;
- END;
- /* Faça uma trigger que adicione em um arquivo de LOG, todos os dados da tabela de cliente
- quando forem deletados fora do período compreendido entre as 08:00 as 12:00 e das
- 14:00 as 16:00 e que ainda indique quem realizou a deleção e o horário que o registro foi deletado. */
- CREATE OR REPLACE TRIGGER LOG_CLIENTE
- BEFORE DELETE ON TB_CLIENTE
- FOR EACH ROW
- BEGIN
- IF DELETING THEN
- IF (TO_CHAR(SYSDATE,'HH24:MI') NOT BETWEEN '08:00' AND '12:00') AND
- (TO_CHAR(SYSDATE,'HH24:MI') NOT BETWEEN '14:00' AND '16:00') THEN
- INSERT INTO TB_LOGCLIENTE (CLI_CODBAIRRO , CLI_CODCIDADE , CLI_CODENDERECO , CLI_CODIGO ,
- CLI_CPF , CLI_FONE , CLI_NOME , CLI_NUMERO , CLI_OPERACAO , CLI_PRAZODEVOL , CLI_RG )
- (SELECT
- CLI_CODBAIRRO , CLI_CODCIDADE , CLI_CODENDERECO , CLI_CODIGO ,
- CLI_CPF , CLI_FONE , CLI_NOME , CLI_NUMERO , SUBSTR(USER||':'||TO_CHAR(SYSDATE,'HH24:MI'),1,15) ,
- CLI_PRAZODEVOL , CLI_RG
- FROM TB_CLIENTE);
- END IF;
- END IF;
- END;
Add Comment
Please, Sign In to add comment