|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() |
Bonjour,
Je dois développer une nouvelle fonctionnalité sur une application existante dans laquelle il y a une procédure stockée. Cette application s'appuie sur une base de données MySQL. J'ai déjà développé des procédures stockées mais en PL/SQL (sous Oracle donc) mais jamais pour MySQL. J'aurais besoin de créer un curseur avec un paramètre (je sais qu'en PL/SQL c'est possible). Est-ce possible avec MySQL et si oui comment ? Merci d'avance
__________________
[/HS] une pétition pour la libération des drivers matériels ici J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Non, les curseurs sont très limités en MySQL. Ce n'est d'ailleurs pas la seule limite sur le sujet :
-- 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 ... Bref, faire côté client, en 1000 fois moins rapide ! Vive MySQL.... Entre autres, car les manques de MySQL sont légions, pour ce pseudo SGBD relationnel qui n'est en fait qu'un ersatz !!!! 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 * * * * * |
|
00
|
|
|
#3 |
|
Membre régulier
![]() |
ok merci beaucoup je vais me débrouiller pour faire autrement
Merci pour la rapidité de ta réponse
__________________
[/HS] une pétition pour la libération des drivers matériels ici J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 850 ![]() |
salut,
qu'est ce que doit faire ton curseur? |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() |
en fait la solution que j'avais trouvé pour les modifications que je dois apporter serait d'imbriquer un curseur dans un autre mais je vais créer une procédure qui sera appelée à chaque occurrence de mon premier curseur (qui existe déjà...)
__________________
[/HS] une pétition pour la libération des drivers matériels ici J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 850 ![]() |
fais juste attention de bien gérer tes variables au niveau du handler continue pour bien que tes 2 curseurs ne se bloquent pas l'un l'autre...
|
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() |
j'avais bien pensé à cet aspect de la solution mais comme malheureusement je ne peux pas passer de paramètre au deuxième (une info se trouvant dans le premier curseur) j'ai dû trouver une autre solution (en l'occurrence une autre procédure prenant en paramètre l'info en question et le passant à un curseur).
__________________
[/HS] une pétition pour la libération des drivers matériels ici J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 850 ![]() |
oui et ton curseur interne se retrouve dans cette sous procédure
après faut voir ce que tu as à retourner à la procédure principale |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() |
voilà !
Par contre je viens de me rendre compte que je n'avais pas tout saisi au niveau fonctionnel et que donc je n'ai pas besoin de faire tout ça j'ai apparemment juste une procédure à modifier légèrement (une fois que je l'aurais comprise je hais la façon dont ces procédures stockées ont été créées => sans commentaire, elles s'appellent les unes les autres sur énormément de niveaux de profondeur sans pour autant que soit toujours justifié le fait d'avoir créé une procédure pour certaines, etc...)
__________________
[/HS] une pétition pour la libération des drivers matériels ici J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 850 ![]() |
la récursion est pourtant pas si dure à mettre en œuvre
|
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() |
c'ets vrai mais ça impliquerait beaucoup plus de modifications dans l'existant que ma solution et vu le temps dont je dispose :s on va dire que je vais faire au plus court
)
__________________
[/HS] une pétition pour la libération des drivers matériels ici J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source |
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 850 ![]() |
oui... si tu as besoin de sous-traiter ^^ n'hésite pas
|
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() |
^^ merci beaucoup mais je m'en suis sorti finalement
j'aimerai savoir s'il existe pour MySQL des outils tels que PL/SQL Developer, SQL Developer ou Toad... Parce que là je travaille avec MySQL Workbench mais je le trouve limité par rapport aux outilzs précités par exemple je ne peux pas exécuter une procédure pas à pas tel que je le faisais avec PL/SQL Developer ou SQL Developer sous Oracle.
__________________
[/HS] une pétition pour la libération des drivers matériels ici J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source |
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Il ne faut pas rêver... MySQL en est à l'âge de pierre comparativement à Oracle ou SQL Server.....
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 * * * * * |
|
00
|
|
|
#15 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 850 ![]() |
perso j'utilise heidisql qui doit être équivalet à ton outils
|
|
|
00
|
|
|
#16 |
|
Membre régulier
![]() |
merci j'ai regardé heidisql mais je travailles sous Linux et il ne semble pas exister (pas sur leur site officiel en tout cas)
mais merci pour ton aide précieuse
__________________
[/HS] une pétition pour la libération des drivers matériels ici J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source |
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 850 ![]() |
oui les outils sous linux sont pas très nombreux, on trouve plus pour windows...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com