mysql procédure stockée de sélectionner et de mise à jour sélectionné
je suis en train d'écrire une procédure stockée pour mysql, et fondamentalement, il devra sélectionner un id, et la mise à jour sélectionnée id operationdate.
DELIMITER //
CREATE PROCEDURE getID(
IN proc_intervaldate datetime
)
BEGIN
DECLARE RUserID BIGINT;
SELECT
UserID
INTO RUserID
FROM Tasks
WHERE OperationDate < proc_intervaldate
LIMIT 1 ;
UPDATE Tasks SET OperationDate = now() WHERE UserID = RUserID;
SELECT RUserID ;
END //
DELIMITER ;
mais quand je l'utilise, procédure, il sera de retour UserID mais pas de mise à jour, si j'ai fait un commentaire
SELECT RUserID
ensuite, il met à jour, mais pas de données retourne.
La procédure ne comporte pas d'erreurs. Il convient de travail. Montrer quelques exemple sur SQLFiddle
yeap, de procédure a pas d'erreurs, juste à cause de navicat problème.
yeap, de procédure a pas d'erreurs, juste à cause de navicat problème.
OriginalL'auteur user2136174 | 2014-03-10
Vous devez vous connecter pour publier un commentaire.
Vous pouvez modifier la définition de la procédure stockée à l'utilisation d'un
OUT
paramètre plutôt que de simplementIN
. Avec cela, il vous suffit de capturer lesOUT
valeur sur la mêmeOUT
paramètre, dans votre langage de script. Ce qui signifie que vous ne devez pas exécuter:dans la procédure stockée.
Changer votre SP de la définition que ci-dessous:
Vous pouvez appeler cette procédure stockée comme, par exemple, à la console MySQL:
Reportez-vous à:
passez le paramètre par le biais d'une variable utilisateur, puis cochez la case
la valeur de la variable après la procédure retourne.
OriginalL'auteur Ravinder Reddy