Trabalho De BDII N2

553 palavras 3 páginas
Trabalho de BDII – N2

1) CREATE OR REPLACE TRIGGER SAL BEFORE UPDATE OF SALARIO ON EMPREGADO

FOR EACH ROW

WHEN ((NEW.SALARIO<OLD.SALARIO*0.5) OR (NEW.SALARIO>OLD.SALARIO * 1.5))

BEGIN

RAISE_APPLICATION_ERROR(-20345,'NAO DIMINUA O SALARIO OU AUMENTE MAIS DE 50%');

END $$

2) CREATE TABLE empregado ( codigo int NOT NULL, nome VARCHAR, salario int, departamento cod int, CONSTRAINT empregados_pkey PRIMARY KEY (codigo) )

CREATE FUNCTION empregados_gatilho() RETURNS TRIGGER AS $empregados_gatilhos$ BEGIN if new.nome is null then select 'o nome do empregado não pode ser nulo; END IF; if new.salario is null then select 'não pode ter um salario nulo', new.nome; END IF; if new.salario > 0 then select '% o salario é maior que 0', new.nome; END IF;

CREATE TRIGGER mpregados_gatilho BEFORE INSERT OR UPDATE ON empregados FOR EACH ROW EXECUTE PROCEDURE empregados_gatilho();

INSERT INTO empregados (codigo, nome, salario) VALUES (1, 'Carlos', 1000);
INSERT INTO empregados (codigo, nome, salario) VALUES (2, 'Marcos', 1200);
INSERT INTO empregados (codigo, nome, salario) VALUES (3, 'Francisco', 1300);
INSERT INTO empregados (codigo, nome, salario) VALUES (4, 'Pedro', 1400);

3) DELIMITER $$
CREATE TRIGGER alterar_valor after update on employment for each row
BEGIN

INSERT INTO employment_mud(salary, name, alteracao) values(antigo.name, antigo.salary, now()); END$$

4)DELIMITER$$ CREATE FUNCTION IMC(altura FLOAT, peso FLOAT) RETURNS FLOAT DECLARE RESULTADO CHAR(50); BEGIN

SET IMC = peso/(altura*altura);

IF(IMC<=19) RESULTADO = 'VOCE ESTA COM SUBPESO';

ELSE IF(IMC<=25) RESULTADO = 'VOCE ESTA

Relacionados