Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 19h42   #1
Membre habitué
 
Avatar de archer
 
kim archer
Inscription : mai 2007
Messages : 332
Détails du profil
Informations personnelles :
Nom : kim archer

Informations forums :
Inscription : mai 2007
Messages : 332
Points : 125
Points : 125
Par défaut parcourir CURSOR en inverse

Bonjour,

Je suis entrain de développer une procédure sous MySQL.
J'ai une liste d'élément que j'ai mis dans un CURSOR, je dois parcourir cette liste et vérifier certaines conditions puis faire un traitement. Si au cours de mon parcours il y a une ligne qui ne vérifie pas ces conditions, je dois retourner en arrière et annuler les traitement précédents(faire des traitement inverse).
Malheureusement je n'est trouvé que FETCH. Donc je vous écris ce message pour savoir s'il y a d'autre méthodes ou stratégies à utiliser.

Merci d'avance.
__________________
rien pour l'instant
archer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 09h15   #2
Membre éclairé
 
Inscription : février 2005
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 349
Points : 358
Points : 358
bonjour.

Si les tables utilise le moteur innodb et que le système n'est pas configuré avec l'autocommit, je dirais que vous pouvez utiliser les fonctionnalités transactionnelles (rollback) du moteur dans une procédure.

A tester
__________________
La connaissance s'accroit lorsqu'on la partage.
overider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 16h38   #3
Membre habitué
 
Avatar de archer
 
kim archer
Inscription : mai 2007
Messages : 332
Détails du profil
Informations personnelles :
Nom : kim archer

Informations forums :
Inscription : mai 2007
Messages : 332
Points : 125
Points : 125
Merci pour la réponse, c'est une bonne alternative. Mais quand je lai exécuté, j'ai remarqué que commit consomme beaucoup de temps alors que je veux atteindre une vitesse d'exécution un peu élevé.
Y a-t-il autre chose à faire pour remédier à ce problème?
__________________
rien pour l'instant
archer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 06h25   #4
Membre Expert
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 843
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 843
Points : 1 318
Points : 1 318
salut,

non tu ne peux lire les enregistrements que dans un sens...

tu peux contourner en créant une table temporaire (en mémoire) dans laquelle tu génères les modifs ou la sauvegarde et tu t'en sers donc au cas où tu as besoin de faire l'équivalent du rollback
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 10h55   #5
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Encore une des nombreuses fonctionnalité "poudre aux yeux" de MySQL !
En gros "oui, oui, MySQL implémente les curseurs..." mais ce que l'on peut faire avec est plus que limité :
-- aucun curseur scrollable (ils sont systématiquement matérialisés, impossible d'avancer autrement qu'en avant et d'une ligne)
-- pas de possibilité de faire du READ ONLY pour éviter de verrouiller les tables
-- impossibilité d'imbriquer la lecture des curseurs
-- pas de possibilité de mettre à jour la ligne courante du curseur
...

A lire : http://blog.developpez.com/sqlpro/p9...udre-aux-yeux/

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h58.


 
 
 
 
Partenaires

Hébergement Web