web-dev-qa-db-fra.com

Oracle, créez une table avec des déclarations de contrainte en ligne utilisant un espace de table différent

J'ai deux questions sur les déclarations de contraintes en ligne pour les tables Oracle:

  1. Est-ce une mauvaise pratique? Si oui, pourquoi?

  2. Comment peut-on déclarer un espace de table différent pour la clé principale et l'index comme c'est fait lors de l'utilisation de la Décrivez la déclaration ? Quelque chose comme

[.____
3
Pedro Mendes

Comme ça:

create table THIS_TABLE (
  id number NOT NULL, 
  constraint THIS_TABLE_PK PRIMARY KEY(id) 
             USING INDEX TABLESPACE INDEX_TABLESPACE
) tablespace DATA_TABLESPACE;

USING INDEX TABLESPACE est la syntaxe - vous n'étiez pas loin.

En ce qui concerne la bonne/mauvaise pratique est concerné, c'est-à-dire une opinion, donc pas vraiment quelque chose qui devrait être demandé ici. L'alternative est d'utiliser le ALTER TABLE .... Syntaxe après la création de table.

9
Philᵀᴹ