IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Séparation des indexes et enregistrement d'une table avec fk


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2002
    Messages : 177
    Points : 81
    Points
    81
    Par défaut Séparation des indexes et enregistrement d'une table avec fk
    hello,
    j'aimerais créer une table qui sépare mes indexes de mes enregistrements dans des tablespaces différents.

    Lorsqu'il n'y a qu'une clé primaire dans la table cela ne pose aucun problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     CREATE TABLE promotions_var2 
        ( promo_id         NUMBER(6) 
        , promo_name       VARCHAR2(20) 
        ,    CONSTRAINT promo_id_u PRIMARY KEY (promo_id) 
             USING INDEX  TABLESPACE tbs_index) 
     
    TABLESPACE tbs_table ;
    mais lorsqu'il y a une clé étrangère, il y a une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     CREATE TABLE promotions_var2 
        ( promo_id         NUMBER(6) 
        , promo_name       VARCHAR2(20) 
        ,    CONSTRAINT promo_id_u PRIMARY KEY (promo_id)
        ,    CONSTRAINT test foreign key(fk_test) references table2(id_table2),
             USING INDEX  TABLESPACE tbs_index) 
    TABLESPACE tbs_table ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00907 parenthèse de droite absente
    alors que ce n'est d'après moi pas un problème de parenthèse

    est-ce que quelq'un aurait une idée??
    je vous remercie d'avance

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    les FK ne sont pas dans des tablespaces

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2002
    Messages : 177
    Points : 81
    Points
    81
    Par défaut
    oui, mais si l'on veut que mettre les indexes d'une pk d'une table qui contient une fk dans un tablespace ??

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    c'est l'index de la PK que tu mets dans le tablespace comme tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CONSTRAINT promo_id_u PRIMARY KEY (promo_id) 
             USING INDEX  TABLESPACE tbs_index
    et la FK tu la crées sans using index, elle utilisera l'index PK

    En revanche moi je préfére créé tout ça à part parce que c'est bien pratique d'avoir des nom parlant pour les indexes et FK exemple : MATABLE_PK ou TABLE1_TABLE2_FK

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2002
    Messages : 177
    Points : 81
    Points
    81
    Par défaut j'ai trouvé
    j'ai trouvé c'était cela en fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     CREATE TABLE promotions_var2 
        ( promo_id         NUMBER(6) 
        , promo_name       VARCHAR2(20) 
        ,    CONSTRAINT promo_id_u PRIMARY KEY (promo_id) 
             USING INDEX  TABLESPACE tbs_index) 
        ,    CONSTRAINT test foreign key(fk_test) references table2(id_table2))
     
    TABLESPACE tbs_table ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer des lignes non enregistrées dans une table
    Par leddy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/04/2008, 15h09
  2. Récup enregistrement d'une table avec formulaire
    Par alexiisme dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 01/09/2007, 20h07
  3. Placer des index après création d'une table
    Par defluc dans le forum Outils
    Réponses: 4
    Dernier message: 03/07/2007, 19h55
  4. Liste des 50 dernier enregistrement d'une table
    Par nicolash94 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/06/2007, 15h09
  5. Réponses: 10
    Dernier message: 01/08/2003, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo