Problème de tri sur une PRIMARY KEY
Bonjour,
J'ai un problème que je ne 'arrive pas à résoudre.
Sur Oracle 9.2.0.1.0, j'ai une table comme suit :
Code:
1 2 3
| ID_DEFINITION_CARTE : NUMBER(10)
ID_TYPE_CARTE : NUMBER(10)
LIBELLE : VARCHAR2(35) |
Il existe une clef primaire sur la 1ère colonne, et un index non unique sur la 2ème colonne.
Lorsque je passe la requete suivante :
Code:
select id_definition_carte, id_type_carte, libelle from definition_carte where id_type_carte = 2;
J'obtiens le résultat ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| ID_DEFINITION_CARTE ID_TYPE_CARTE LIBELLE
------------------- ------------- -----------------------------------
2029 2 SENS
28045 2 PAYS
17 2 NUMERO RELEVE
18 2 NUMERO CARTE
19 2 NOM
20 2 PRENOM
21 2 DATE ACHAT
22 2 CODE OPERATION
23 2 MONTANT TTC
24 2 RAISON SOCIALE
25 2 NATURE VENTE
26 2 LOCALISATION
27 2 DEVISE
28 2 MONTANT DEVISE
14 ligne(s) sÚlectionnÚe(s). |
Le résultat n'est pas trié selon la colonne ID_DEFINITION_CARTE, qui est pourtant la clef primaire.
Je pensais que les clef primaire était triée automatiquement ?
Voilà les paramètres du serveur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| SQL> SELECT * from NLS_DATABASE_PARAMETERS;
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET WE8MSWIN1252
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 9.2.0.3.0
20 ligne(s) sÚlectionnÚe(s). |
et les paramètres de la session :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| SQL> SELECT * FROM NLS_SESSION_PARAMETERS;
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE FRENCH
NLS_TERRITORY FRANCE
NLS_CURRENCY Ç
NLS_ISO_CURRENCY FRANCE
NLS_NUMERIC_CHARACTERS ,.
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE FRENCH
NLS_SORT FRENCH
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY Ç
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
17 ligne(s) sÚlectionnÚe(s). |
Il se trouve que sur une copie de cet même schema, tout est OK.
Il semble de plus que les nouveaux enregistrements soient ajoutés en haut et non en bas comme attendu.
Merci de votre aide...