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 :
Il existe une clef primaire sur la 1ère colonne, et un index non unique sur la 2ème colonne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ID_DEFINITION_CARTE : NUMBER(10) ID_TYPE_CARTE : NUMBER(10) LIBELLE : VARCHAR2(35)
Lorsque je passe la requete suivante :
J'obtiens le résultat ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part select id_definition_carte, id_type_carte, libelle from definition_carte where id_type_carte = 2;
Le résultat n'est pas trié selon la colonne ID_DEFINITION_CARTE, qui est pourtant la clef primaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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).
Je pensais que les clef primaire était triée automatiquement ?
Voilà les paramètres du serveur :
et les paramètres de la session :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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).
Il se trouve que sur une copie de cet même schema, tout est OK.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 semble de plus que les nouveaux enregistrements soient ajoutés en haut et non en bas comme attendu.
Merci de votre aide...
Partager