8989
CREATE OR REPLACE PROCEDURE UpdateEmployeeSalaries AS
BEGIN
-- Update salaries for employees who are not Analysts and whose salary is between 1 and 1500
UPDATE employee
SET salary = salary * 1.15
WHERE salary BETWEEN 1 AND 1500
AND job_title <> 'Analyst';
-- Update salaries for employees who are not Salesmen and whose salary is between 1501 and 2500
UPDATE employee
SET salary = salary * 1.10
WHERE salary BETWEEN 1501 AND 2500
AND job_title <> 'Salesman';
-- Update salaries for employees who are not Managers and whose salary is between 2501 and 9999
UPDATE employee
SET salary = salary * 1.05
WHERE salary BETWEEN 2501 AND 9999
AND job_title <> 'Manager';
-- Update salaries for all Managers
UPDATE employee
SET salary = salary * 1.075
WHERE job_title = 'Manager';
-- Commit the changes
COMMIT;
EXCEPTION
WHEN OTHERS THEN
-- Handle exceptions and rollback in case of an error
ROLLBACK;
DBMS_OUTPUT.PUT_LINE('An error occurred: ' || SQLERRM);
END;
/