I have a stored procedure that selects a aggregated SUM into a local variable.
When I run the code (A Select into Statement) in MYSQL Workbench without running the Stored Procedure and then Select the Variable. I see the result I expect.
When the exact same select into statement is run within the Workbench, or external application, by calling the stored procedure. The local variable always return NULL.
Does any one know why it works outside the Stored Procedure but NOT when running the procedure.
I have included the stored Procedure code and some examples of WorkBench returning the results and not returning the results in the proc.
I even hard coded the Input Variables. It still doesn't work.
Cheers.
Tim.
DROP PROCEDURE MPSH.proc_entry_overallStatusUpdate;
DELIMITER //
CREATE PROCEDURE MPSH.proc_entry_overallStatusUpdate
(IN IN_entryID int(11), IN_entryStatusID int(11))
BEGIN
DECLARE approval int;
SELECT
SUM(approval)
INTO
@approvalScore
FROM MPSH.tbl_EntryApprovals
WHERE entryID = 8
AND entryStatusID= 8
AND sysActive = 1
GROUP BY entryID, entryStatusID;
SELECT 'SUM', @approvalScore ;
IF @approvalScore IS NOT NULL THEN
IF @approvalScore >= 2 THEN
#Approved
SELECT 'Approve = 2';
SET approval = 2;
ELSEIF (@approvalScore BETWEEN -1 AND 2) THEN
#Awaiting Review
SELECT 'Approve = 0';
SET approval = 0;
ELSE
#Entry Rejected.
SELECT 'Approve = 3';
SET approval = 3;
END IF;
#Update the Overall Status of an Entry.
UPDATE MPSH.tbl_EntryStatus
SET overallStatusID = approval
,sysUpdated = NOW()
WHERE entryStatusID = N_entryStatusID
AND sysActive = 1;
END IF;
END //
DELIMITER ;
CALL MPSH.proc_entry_overallStatusUpdate(8,8);
Thanks for your help.

