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

SQL Oracle Discussion :

Tables croisées et syntaxe de création


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 31
    Points : 25
    Points
    25
    Par défaut Tables croisées et syntaxe de création
    Bonjour ou bonsoir,

    Voici le code(que je vous ai écris) qui me pose "problème" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE t1
    (
    	id CHAR(3)
    		CONSTRAINT CPT1 PRIMARY KEY,
    	fk CHAR(11) CONSTRAINT REFt1t2 REFERENCES t2(id)
    );
    CREATE TABLE t2
    (
    	id CHAR(3)
    		CONSTRAINT CPT2 PRIMARY KEY,
    	fk CHAR(11) CONSTRAINT REFt2t1 REFERENCES t1(id)
    );
    Lors de l’exécution de ces requêtes sur mon sgbd oracle, on a évidement deux erreurs :
    Erreur SQL : ORA-00942: table or view does not exist(x2)
    Un moyen de résoudre ce problème est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE t1
    (
    	id CHAR(3)
    		CONSTRAINT CPT1 PRIMARY KEY,
    	fk CHAR(11)
    );
    CREATE TABLE t2
    (
    	id CHAR(3)
    		CONSTRAINT CPT2 PRIMARY KEY,
    	fk CHAR(11) CONSTRAINT REFt2t1 REFERENCES t1(id)
    );
    ALTER TABLE t1 ADD CONSTRAINT REFt1t2 FOREIGN KEY (fk) REFERENCES t2(id);
    Ma question : Existe-t-il un autre moyen qui n'utilise pas la commande ALTER ?
    Ce n'est pas pour une question d'optimisation, mais simplement de culture générale..

    Je suis novice, soyez indulgent svp
    Merci.

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Bonjour

    La commande alter table ... add CONSTRAINT devrait vous aider.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par ojo77 Voir le message
    Bonjour

    La commande alter table ... add CONSTRAINT devrait vous aider.
    Bonjour,
    Merci pour votre message.
    Mais si vous lisez bien mon message précédent, cette solution est déjà évoquée(en bas du deuxième [CODE]). (ou alors je n'ai pas bien saisi le sens de votre réponse :s)
    Existe-t-il une autre méthode ?
    Je sais par ex, que pour insérer des lignes dans des tables croisés, on peut déferrer la vérification des contraintes en fin de transaction. Mais existe-t-il une méthode similaire pour des CREATE ?

  4. #4
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    J'ai en effet lu votre message un peu vite.

    A ma connaissance c'est le moyen le plus efficace et à vrais dire je ne vois pas d'autre solution simple.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Merci tout de même Je crois que je ne trouverais pas de réponses.

Discussions similaires

  1. Syntaxe de création de table
    Par diamentelle dans le forum Débuter
    Réponses: 4
    Dernier message: 20/02/2009, 14h51
  2. [CR]Table Croisée
    Par isa83 dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 05/10/2004, 07h18
  3. [CR8.5] Table croisée champs résumés en ligne. Possible?
    Par ccquick dans le forum SAP Crystal Reports
    Réponses: 10
    Dernier message: 19/07/2004, 09h37
  4. [CR8.5] table croisée
    Par sebderijke dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 13/07/2004, 11h43
  5. [CR .NET] Table croisée: compléter avec lignes vides
    Par kartben dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 29/06/2004, 10h38

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