Vous n'êtes pas identifié(e).
bonjour,
est ce que en faisant rpm -e et ensuite rpm -ivh cela pourrai résoudre le probléme?
Hors ligne
Non, ça ne suffira pas. Il vous faut voir avec quelqu'un qui peut manipuler le serveur avec vous.
Guillaume.
Hors ligne
Bonjour,
je suis finalement arrive a lancer postgres.
Donc maintenant je peux utiliser les requête récursive. J'ai repris la requête du début du sujet. Elle tourne pendant ~5 et après j'ai ce message
ERROR: write failed
.
Hors ligne
Je présume qu'il y a une erreur dans la récursion qui fait que la requête n'a aucune condition de sortie.
Marc.
Hors ligne
effectivement j'avais pris la requête du début du sujet.
la requête suivante fonctionne:
WITH recursive enfant(idEnfant,nomEnfant,level) AS
(
SELECT d.id,d.nom,1
FROM domaine d WHERE d.id=BE509765
union ALL
SELECT d.id,d.nom,e.level + 1
FROM domaine d,enfant e
where d.parent=e.idEnfant
)
SELECT * FROM enfant ORDER BY level;
.
merci pour votre et désolé d'avoir largement débordé sur l'installation.
Une dernière question tant que j'y suis. j'aimerai récupérer les ascendant d'un élément. Avec oracle, il y a SYS_CONNECT_BY_PATH qui est bien pratique. est ce qu'il y a un équivalant pour postgresql ou qui s'en rapproche?
Hors ligne
Vous avez un problème avec cette requête:
WITH recursive enfant(idEnfant,nomEnfant,level) AS
(
SELECT d.id,d.nom,1
FROM domaine d WHERE d.id=BE509765
union ALL
SELECT d.id,d.nom,e.level + 1
FROM domaine d,enfant e
where d.parent=e.idEnfant
)
SELECT * FROM enfant ORDER BY level;
Que se passe t'il si vous avez une erreur dans la base, et une boucle ? Il est probablement utile de rajouter une colonne profondeur de récursion, et une condition de sortie si elle devient trop élever.
Pour faire le sys_connect_by_path avec la syntaxe with de postgresql, je pense que vous avez intérêt à stocker dans un tableau, pour chaque élément, tous les parents de l'élément (regardez le chapitre sur les fonctions de tableau: http://docs.postgresql.fr/9.0/arrays.html) et ensuite concaténez les éléments de ce tableau sous la forme qui vous plait (à mon avis avec array_to_string: http://docs.postgresql.fr/9.0/functions-array.html)
Marc.
Hors ligne