IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

tri des données différent entre 2 bases


Sujet :

Oracle

  1. #1
    j6m
    j6m est déconnecté
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 87
    Points : 84
    Points
    84
    Par défaut tri des données différent entre 2 bases
    bonjour, j'ai importé dans une 10G R1 sous Windows des données venant d'une 9.2 sous Solaris.
    dans la base 9.2 un simple select renvoie les données "en ordre", par exemple :
    code :
    select trunc(ma_date,'MM'), count(*) from ma_table;
    JAN-2005 150
    FEB-2005 189
    etc.

    et sous la base 10G la même requête me renvoie sna cohérence apparante dans le tri.
    J'ai galéré avec les paramètres NLS (base insatnce et session), mais apparmment le seul moyen est de rajouter un order by. Malheureusement cette base sert des requêtes BO qu'il est diificile de toutes modifier.
    est-ce normal d'avoir "perdu" et comment le récupérer sans reprendre toutes les requêtes déjà programmées?
    quand la pierre tombe sur l’œuf, malheur à l’œuf
    quand l’œuf tombe sur la pierre, malheur à l’œuf

  2. #2
    Membre habitué Avatar de Process Linux
    Inscrit en
    Septembre 2003
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 136
    Points : 149
    Points
    149
    Par défaut
    Dans la base 9.2 , les données été ordonnées par le ROWID, qui dépend de la structure physique et qui n'a rien à avoir avec un vrai identifiant.

    Vérifie dans l'export des données, est ce que tu as mis l'option " Comprimer les bloques contiguës" à non .

    Dans les pires des cas si tu veux éviter l'instruction order by , tu peux passer par une table temporaire X , qui contient les données non ordonnées . Et puis tu crée la stucture de la table A par exp

    et tu récupère les données ordonnées dans la nouvelle table avec l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    insert into A
    select * from X
    order by date_xxx;
    il faut faire attention avec cette instruction , il faut désactiver toutes les contraintes et les délancheurs pour ne pas polluer les autres tables.

  3. #3
    Membre éclairé Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 547
    Points : 670
    Points
    670
    Par défaut
    Des ameliorations de l'algorithme de tri sous 10g peuvent expliquer ce comportement. Cf Metalink note 345048.1.

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/05/2008, 17h20
  2. [IN] - Tri des données
    Par kirsoul dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/05/2006, 15h36
  3. Modifier une requête par des données différente
    Par leloup84 dans le forum Requêtes
    Réponses: 9
    Dernier message: 06/03/2006, 14h23
  4. [JTable] Tri des données
    Par soulhouf dans le forum Composants
    Réponses: 7
    Dernier message: 08/09/2005, 14h01
  5. Insérer des données Excel dans une base Access ?
    Par MaTHieU_ dans le forum Access
    Réponses: 3
    Dernier message: 22/06/2005, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo