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...





Répondre avec citation
Partager