Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en 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 14/04/2006, 07h37   #1
Membre du Club
 
Inscription : décembre 2004
Messages : 88
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 88
Points : 43
Points : 43
Par défaut procedure stockée recursive MySQL

Apès avoir cherché dans la doc de MySQL 5.0 et les futures fonctionnalités de MySQL 5.1, la récursivité des PS n'est pas gérée.

Je souhaitais savoir comment gérer la récursivité dans les PS MySQL 5.0 ?

MERCI
brice01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2006, 09h43   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
La réponse est contenue dans la question : on ne peut pas ! Essaie d'utiliser de l'itératif plutôt que du récursif...
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2006, 17h29   #3
Invité de passage
 
Inscription : avril 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 4
Points : 3
Points : 3
Mais alors que faire dans le cas d'une hiérarchie. Par exemple une table ainsi :
create table (
idElement smallint unsigned not null primary key auto_increment,
idParent smallint unsigned not null);

Si on veut, en suppriment un enregistrement avec un certain idElement, supprimer tous les enregistrements pour lesquels idParent est égal à cet idElement, comment faire ?

On ne peut pas faire une procédure stockée récursive.
On ne peut pas placer une FK sur la table
On ne peut pas placer un delete dans un trigger de la table, le trigger ne voulant pas faire de delete sur sa propre table.

Est-on obligé de le faire du côté application ?
Djebel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 13h03   #4
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Est-ce que ça doit gérer les petits-enfants ou uniquement les descendants directs ? Sinon tu rajoutes une table parent(id_parent, id_enfant)...
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h25.


 
 
 
 
Partenaires

Hébergement Web