Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- CREATE DATABASE IF NOT EXISTS Empresa;
- USE Empresa;
- CREATE TABLE IF NOT EXISTS funcionarios (
- id INT PRIMARY KEY AUTO_INCREMENT,
- nome VARCHAR(100),
- salario DECIMAL(10,2),
- departamento VARCHAR(50)
- );
- CREATE TABLE IF NOT EXISTS log_transacoes (
- id INT PRIMARY KEY AUTO_INCREMENT,
- funcionario_id INT,
- departamento_anterior VARCHAR(50),
- departamento_novo VARCHAR(50),
- data_alteracao TIMESTAMP DEFAULT CURRENT_TIMESTAMP
- );
- INSERT INTO funcionarios (nome, salario, departamento) VALUES
- ('Ana', 2500.00, 'Vendas'),
- ('Carlos', 3000.00, 'TI'),
- ('Julia', 2800.00, 'RH');
- SET GLOBAL event_scheduler = ON;
- CREATE EVENT IF NOT EXISTS aumento_salarial_anual
- ON SCHEDULE EVERY 1 YEAR
- STARTS CURRENT_TIMESTAMP
- DO
- UPDATE funcionarios SET salario = salario * 1.03;
- START TRANSACTION;
- SET @id_func = 1;
- SELECT @dep_antigo := departamento FROM funcionarios WHERE id = @id_func;
- UPDATE funcionarios SET departamento = 'Financeiro' WHERE id = @id_func;
- INSERT INTO log_transacoes (funcionario_id, departamento_anterior, departamento_novo)
- VALUES (@id_func, @dep_antigo, 'Financeiro');
- COMMIT;
- CREATE USER IF NOT EXISTS 'usuario_junior'@'localhost' IDENTIFIED BY '1234';
- CREATE USER IF NOT EXISTS 'usuario_senior'@'localhost' IDENTIFIED BY '1234';
- REVOKE UPDATE ON Empresa.funcionarios FROM 'usuario_junior'@'localhost';
- GRANT UPDATE (salario) ON Empresa.funcionarios TO 'usuario_senior'@'localhost';
- FLUSH PRIVILEGES;
Advertisement
Add Comment
Please, Sign In to add comment