23 lines
776 B
SQL
23 lines
776 B
SQL
DROP PROCEDURE IF EXISTS GetDiscutMessages;
|
|
DELIMITER //
|
|
CREATE PROCEDURE GetDiscutMessages
|
|
(
|
|
IN p_sid INT,
|
|
IN p_password TEXT,
|
|
IN p_did INT,
|
|
OUT outputCode INT(11)
|
|
)
|
|
MODIFIES SQL DATA
|
|
BEGIN
|
|
|
|
CALL `CheckIdLogin`(p_sid,p_password, outputCode);
|
|
IF outputCode = 42 OR outputCode = 2005 THEN
|
|
SET outputCode :=( SELECT CASE WHEN (SELECT CheckInGroup(p_sid,authorizedGroupID)=42 OR p_sid=creatorID FROM discussions WHERE ID=p_did) THEN 42 ELSE 2019 END );
|
|
IF outputCode = 42 THEN
|
|
INSERT INTO smz SELECT m.ID AS ID,u.ID AS senderID,u.pseudo AS senderPseudo,m.texte AS texte,m.sendTime AS sendTime, p_sid = senderID AS rights FROM messages AS m INNER JOIN membres AS u ON u.ID = m.senderID WHERE m.discussionID = p_did;
|
|
END IF;
|
|
END IF;
|
|
|
|
END//
|
|
DELIMITER ;
|