Trabalho De BDII N2
553 palavras
3 páginas
Trabalho de BDII – N21) 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