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 confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 177
    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
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

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

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 177
    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
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    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 confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 177
    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