Having a couple of syntax errors in this code. I am having the "Loop is not valid at this position expecting if" at "loop", "statement is incomplete" at "END$" and "@commission is not valid at this position".
DELIMITER $$
CREATE PROCEDURE commissionCheck (IN employeeNum INT, INOUT commission VARCHAR(4000))
BEGIN
DECLARE employee_cursor CURSOR FOR
SELECT firstName,lastName,address,city,state,zipcode,sale
FROM customer c, employee e, sale s, cityState cs
WHERE s.employeeID = employeeNum;
DECLARE CONTINUE HANDLER
FOR NOT FOUND SET v_finished = 1;
OPEN employee_cursor;
get_employee: LOOP
FETCH employee_cursor INTO v_eFirst;
FETCH employee_cursor INTO v_eLast;
FETCH employee_cursor INTO v_eAddress;
FETCH employee_cursor INTO v_eCity;
FETCH employee_cursor INTO v_eState;
FETCH employee_cursor INTO v_eZip;
FETCH employee_cursor INTO v_retail;
IF v_finished = 1 THEN
LEAVE get_employee;
END IF;
SET v_count = vcount + 1;
SELECT v_eFirst;
SELECT v_eLast;
SELECT v_eAddress;
SELECT v_eCity;
SELECT v_eZip;
SELECT v_retail;
IF v_count = 1 THEN
IF v_retail >= 40000 THEN SET v_pay = (v_retail * 0.20) + v_retail;
ELSEIF v_retail >= 30000 THEN SET v_pay = (v_retail * 0.15) + v_retail;
ELSEIF v_retail >= 20000 THEN SET v_pay = (v_retail * 0.10) + v_retail;
ELSE SET v_pay = (v_retail * 0.08) + v_retail;
SET commission = CONCAT(commission, 'FROM:\n');
SET commission = CONCAT(commission, '\nCGS 2545 Car Dealership\n');
SET commission = CONCAT(commission, '\UCF\n');
SET commission = CONCAT(commission, '\MSB 260\n\n');
SET commission = CONCAT(commission, 'Pay to the order of:\n\n');
SET commission = CONCAT(commission, v_efirst, '', v_eLast,'\n');
SET commission = CONCAT(commission, v_eAddress, '\n');
SET commission = CONCAT(commission, v_eCity, ',', v_eState,'',v_eZip,'\n');
SET commission = CONCAT(commission, 'In the amount of:\n\n');
SET commission = CONCAT(commission, '$', v_pay, '\n');
SET commission = CONCAT(commission, '\n', v_lines, '\n');
END IF;
END LOOP get_employee;
close employee_cursor;
END$$
DELIMITER ;
SET @commission = "";
CALL @commission:{
employeeId from sale
@commission
}
SELECT @commission;
I havent really tried much to fix it to be honest. I am lost