Bonjour,
Est ce que c'est normal lorsque on supprime une clef primaire d'une table, l'index associé à ce champ ne sera supprimé sous oracle 10g?
je sais dans oracle 9, on n'a pas ce probléme
Merci d'avance
Bonjour,
Est ce que c'est normal lorsque on supprime une clef primaire d'une table, l'index associé à ce champ ne sera supprimé sous oracle 10g?
je sais dans oracle 9, on n'a pas ce probléme
Merci d'avance
Non, ce n'est pas normal car comme l'index matérialise la contrainte de clé unique, cela revient à garder la contrainte. Je n'arrive pas à reproduire ce cas avec la 10.2.0.1:
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
27
28
29
30
31
32
33
34
35
36
37 dev001> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for 32-bit Windows: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production dev001> dev001> drop table t; Table dropped. dev001> create table t(x int); Table created. dev001> alter table t add primary key(x); Table altered. dev001> select table_name, index_name from user_indexes where table_name ='T'; TABLE_NAME INDEX_NAME ------------------------------ ------------------------------ T SYS_C002816 dev001> alter table t drop primary key; Table altered. dev001> select table_name, index_name from user_indexes where table_name ='T'; no rows selected
Et si tu fais un, puis un
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE UNIQUE INDEX PKNAME
puis que tu supprimes la contrainte ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ALTER TABLE MATABLE ADD ( CONSTRAINT PKNAME PRIMARY KEY (PK_COLS) USING INDEX
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
En effet si l'index n'est pas créé par la contrainte, il semble bien qu'il y a une différence entre Oracle 9 et Oracle 10: le DROP CONSTRAINT en version 9 supprime l'index mais ne le supprime en version 10.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager