mysql nombre d'enregistrements dans curseur sans itération?
Je suis en train d'écrire mysql procédure ci-dessous logique,
select id, fullname from users where fullname like concat(lastname, ' ', firstname, ' (' , middlename, '%');
si la requête renvoie 0 enregistrements alors
select id, fullname from users where fullname like concat(lastname, ' ', firstname, '%');
.... few more queries depending upon result,
Je suis en train d'écrire la procédure mysql procédure , en ce que, je suis de l'utilisation de mysql curseur,
DECLARE user_cnt CURSOR FOR select id, fullname from users where fullname like concat(lastname, ' ', firstname, ' (' , middlename, '%');
maintenant, j'ai envie de vérifier le nombre d'enregistrements dans user_cursor afin que je puisse vérifier la condition "si la requête retourne 0 enregistrements puis"
Comment puis-je trouver le nombre d'enregistrements dans mysql curseur sans itération sur elle ?
OriginalL'auteur vishal | 2013-10-03
Vous devez vous connecter pour publier un commentaire.
Faire un décompte avant le curseur:
EDIT:
Si vous voulez le faire après l'OUVERTURE du curseur, essayez de le faire:
Essayez
SELECT FOUND_ROWS()
après votre curseur OUVERT.Il serait préférable de proposer une solution sans un curseur comme une mise en garde parce que la performance est terrible.
OriginalL'auteur Filipe Silva
Inclure SQL_CALC_FOUND_ROWS dans votre sélection du curseur.Puis sur télécharger les utiliser FOUND_ROWS(). Il donne le nombre de dossiers
OriginalL'auteur Bnn