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 :

creation de table avec contrainte


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 243
    Points : 120
    Points
    120
    Par défaut creation de table avec contrainte
    Bonjour,

    je cherche à éxecuter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE EQUIPE (
      CODE_EQUIPE VARCHAR(2) NOT NULL,
      INTERVENANT_CODE_INTANT VARCHAR(2) NOT NULL,
      NOM_EQUIPE VARCHAR(20) NULL,
      PRIMARY KEY(CODE_EQUIPE),
      FOREIGN KEY(INTERVENANT_CODE_INTANT)
      REFERENCES INTERVENANT (CODE_INTANT)
      ON DELETE CASCADE
      ON UPDATE CASCADE
    );
    et il me dit :
    ERREUR à la ligne 9 :
    ORA-00907: Parenthèse de droite absente
    J'ai essayé toute sorte de combinaisons, j'ai du passé à côté de la bonne ou alors il y a un autre problème.

    ps : La table 'intervenant' existe.

    Merci d'avance.

  2. #2
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    n'existe pas en Oracle

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Je pense qu'il faut fermer la parenthèse à la fin de la description des colonnes, c'est-à-dire remplacer la virgule par une parenthèse fermante en fin de ligne 4, et supprimer la parenthèse fermante en début de ligne 10 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE TABLE EQUIPE (
      CODE_EQUIPE VARCHAR(2) NOT NULL,
      INTERVENANT_CODE_INTANT VARCHAR(2) NOT NULL,
      NOM_EQUIPE VARCHAR(20) NULL)
      PRIMARY KEY(CODE_EQUIPE),
      FOREIGN KEY(INTERVENANT_CODE_INTANT)
      REFERENCES INTERVENANT (CODE_INTANT)
      ON DELETE CASCADE
      ON UPDATE CASCADE
    ;

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 243
    Points : 120
    Points
    120
    Par défaut
    ok
    merci

    dgi77 : voila le résultat en modifiant les parenthèses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ERREUR à la ligne 5 :
    ORA-00922: option erronée ou absente
    merci quand même.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Oui, autant tu peux définir l'option NOT NULL, autant tu ne peux pas définir l'option NULL, donc il faut s'abstenir.
    Sinon, comme te l'a signalé Garuda, il faut aussi supprimer le ON UPDATE CASCADE qui n'esxiste pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE TABLE EQUIPE (
      CODE_EQUIPE VARCHAR(2) NOT NULL,
      INTERVENANT_CODE_INTANT VARCHAR(2) NOT NULL,
      NOM_EQUIPE VARCHAR(20) )
      PRIMARY KEY(CODE_EQUIPE),
      FOREIGN KEY(INTERVENANT_CODE_INTANT)
      REFERENCES INTERVENANT (CODE_INTANT)
      ON DELETE CASCADE
    ;

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

Discussions similaires

  1. [Requête] creation de table avec un champ auto incrementé
    Par lucke_34 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 30/04/2020, 23h18
  2. creation de table avec des contraintes
    Par aldama dans le forum SQL
    Réponses: 4
    Dernier message: 01/04/2008, 19h58
  3. Creation d'une table avec contrainte
    Par bygui dans le forum Administration
    Réponses: 2
    Dernier message: 31/05/2006, 09h36
  4. Newbie PgSQL->Probleme Creation de table avec FOREIGN KEY
    Par ralkif dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 07/03/2006, 21h59
  5. [Debutant]Suppression dans des tables avec contraintes
    Par Roming22 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 26/10/2004, 17h23

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