Procedure
Procedure
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
Database changed
mysql> CREATE TABLE Employees (
-> EmployeeID INT PRIMARY KEY,
-> Name VARCHAR(50),
-> Salary DECIMAL(10, 2)
-> );
Query OK, 0 rows affected (0.83 sec)
mysql> DELIMITER $$
mysql>
mysql> CREATE PROCEDURE UpdateSalary(IN p_EmployeeID INT, IN
p_PerformanceRating INT)
-> BEGIN
-> IF p_PerformanceRating = 1 THEN
-> UPDATE Employees
-> SET Salary = Salary * 1.10
-> WHERE EmployeeID = p_EmployeeID;
-> END IF;
-> END $$
Query OK, 0 rows affected (0.20 sec)
mysql> DELIMITER $$
mysql>
mysql> CREATE FUNCTION TotalSalaryExpenditure()
-> RETURNS DECIMAL(10, 2)
-> DETERMINISTIC
-> BEGIN
-> DECLARE total_salary DECIMAL(10, 2);
->
-> -- Calculate total salary expenditure
-> SELECT SUM(Salary) INTO total_salary FROM Employees;
->
-> -- Return the result
-> RETURN total_salary;
-> END$$
Query OK, 0 rows affected (0.13 sec)
mysql>
mysql> DELIMITER ;
mysql> CALL UpdateSalary(1, 1); -- 10% increase for EmployeeID 1
Query OK, 0 rows affected (0.03 sec)
mysql> DELIMITER $$
mysql>
mysql> CREATE PROCEDURE GetTotalSalaryExpenditure()
-> BEGIN
-> DECLARE total DECIMAL(10, 2);
->
-> -- Assuming TotalSalaryExpenditure is a function or calculated
value.
-> SELECT SUM(Salary) INTO total FROM Employees;
->
-> -- Output total salary expenditure
-> SELECT CONCAT('Total Salary Expenditure: ', total) AS
TotalExpenditure;
-> END $$
Query OK, 0 rows affected (0.15 sec)
mysql>
mysql> DELIMITER ;
mysql> CALL GetTotalSalaryExpenditure();
+-------------------------------------+
| TotalExpenditure |
+-------------------------------------+
| Total Salary Expenditure: 115000.00 |
+-------------------------------------+
1 row in set (0.02 sec)