-
Tri SQL Loader
bonjour,
j'utilise sql loader pour charger des donnée en base a partir d'un fichier csv.
Mais mes donnée ne sont pas charger dans le meme ordre que mon fichier csv.
Ya t'il un moyen de rectifié cela pour obtenir le meme ordre que dans mon csv? :(
Merci d'avance.
-
une table n'est pas ordonnée de toute façon... c'est au SELECT de faire le tri ;)
-
oui vu comme ca mais il y a qq jour un select * me rendais exactement la meme chose que mon csv. Et je ne sais pas ce qui a changer pour que ca ne marche plus :roll:
-
probablement le plan d'exécution ou alors le ROWID d'une ligne :)
faut voir une table comme un sac de billes ;)
-
c'est à dire? qu'entend tu par plan d'exec ?(dsl j'suis pas un expert...;))
-
qu'Oracle a choisi une autre méthode pour récupérer les lignes... de toute façon, une table n'est pas ordonnée, c'est un sac de billes et c'est toi qui doit choisir l'ordre dans lequel sortir les billes :?
-
oui mais pourquoi du jour au lendemain mr Oracle decide de modifié l'ordre des ligne c bizarre non??
-
en fait j'viens de me rappeler que la fois ou ca marchait c'etait sur une autre base (tjrs oracle)
il doit y avoir une propriété a changer!?!
-
Non, il n'y a rien à changer, les ROWID sont différents donc l'ordre aussi... il faut faire un ORDER BY dans le SELECT
j'vois pas pourquoi tu t'entêtes, c'est comme ça, point...
-
bon ok j'pensait que y avait moyen...
merci qd meme ;)
-
Bonjour,
Je plussois OraFrance !
Sqlldr ne vois pas le fichier comme toi !
Si parfois il semble qu'il te charge les données dans l'ordre que tu vois (ligne 1, ligne 2...), la plupart du temps il les chargent comme ça lui chante.
Pour t'en convaincre il suffit d'incrémenter un compteur lors du chargement et tu verras que c'est rarement dans l'ordre que tu attends.
En même temps comme dit le grand maître oracle, une table n'est jamais ordonnées... C'est toi qui décide de l'ordonnée avec les 'order by'
Et puis je ne vois pas en quoi c'est un problème.
Si tu veux réelement que tes données soit dans l'ordre ligne 1, ligne 2 ... il suffit d'ajouter un compteur dans ton fichier et un order by fera l'affaire ;)