DROP PROCEDURE IF EXISTS GetAuthorizedProjectsForPresentation; DELIMITER // CREATE PROCEDURE GetAuthorizedProjectsForPresentation ( IN p_sid TEXT, IN p_password TEXT, OUT outputCode INT(11) ) MODIFIES SQL DATA BEGIN CALL `CheckIdLogin`(p_sid,p_password, outputCode); IF outputCode = 42 THEN INSERT INTO projects SELECT p.ID AS projectID, p.name AS projectName, v.ID AS versionID , v.name AS versionName FROM projets AS p LEFT JOIN versions AS v ON p.ID = v.projectID WHERE (p.ownerID = p_sid OR CheckInGroup(p_sid,p.secondaryOwnersGroupID) = 42) AND (v.ID IS NULL OR v.versionAbs = (SELECT MAX(versionAbs) FROM versions WHERE projectID = p.ID)); END IF; END// DELIMITER ;