Commande DROP TABLE : Changements du comportement CASCADE pour les tableaux hybrides¶
Attention
Ce changement de comportement fait partie du bundle 2025_03.
Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.
Lorsque ce bundle de changements de comportement est activé, le paramètre CASCADE/RESTRICT est défini par défaut différemment pour les tables hybrides. Cette modification ne s’applique pas aux tables standard.
- Avant la modification:
- Lorsque vous supprimez une table hybride sans spécifier RESTRICT ou CASCADE, et que la table hybride a une relation clé primaire/clé étrangère ou clé unique/clé étrangère avec une autre table, la commande DROP TABLE réussit. - Le comportement par défaut est CASCADE. - CREATE OR REPLACE HYBRID TABLE ht1( col1 NUMBER(38,0) NOT NULL, col2 NUMBER(38,0) NOT NULL, CONSTRAINT pkey_ht1 PRIMARY KEY (col1, col2)); CREATE OR REPLACE HYBRID TABLE ht2( cola NUMBER(38,0) NOT NULL, colb NUMBER(38,0) NOT NULL, colc NUMBER(38,0) NOT NULL, CONSTRAINT pkey_ht2 PRIMARY KEY (cola), CONSTRAINT fkey_ht1 FOREIGN KEY (colb, colc) REFERENCES ht1(col1,col2)); DROP TABLE ht1; - La commande DROP TABLE est exécutée sans erreur. 
- Après la modification:
- Lorsque vous supprimez une table hybride sans spécifier l’option RESTRICT ou CASCADE, et que la table hybride a une relation clé primaire/clé étrangère ou clé unique/clé étrangère avec une autre table, la commande DROP TABLE échoue avec une erreur. - Le comportement par défaut est RESTRICT. - Par exemple : - DROP TABLE ht1; - SQL compilation error: Cannot drop the table because of dependencies - La commande DROP TABLE échoue dans ce cas. Si nécessaire, vous pouvez ignorer le comportement par défaut en spécifiant CASCADE dans la commande DROP TABLE. - DROP TABLE ht1 CASCADE; - Dans ce cas, vous pouvez également supprimer la table dépendante - ht2en premier lieu, puis la table- ht1.
Réf : 1741