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

Oracle Discussion :

[CODE] Erreur ORA-00911


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [CODE] Erreur ORA-00911
    Bonjour (de la part d'un débutant)
    J'utilise Oracle 9i.

    Je lance une application aussi simple
    SQL> R
    1 -- Creation des tables et PK
    2 CREATE TABLE Segment
    3 (indIP VARCHAR2(11),
    4 nomSegment VARCHAR2(20) CONSTRAINT nn_nomSegment NOT NULL,
    5 etage NUMBER(2),
    6 CONSTRAINT pk_Segment PRIMARY KEY (indIP));
    7 CREATE TABLE Salle
    8 (nSalle VARCHAR2(7),
    9 nomSalle VARCHAR2(20) CONSTRAINT nn_nomSalle NOT NULL,
    10 nbPoste NUMBER(2),
    11 indIP VARCHAR2(11),
    12 CONSTRAINT pk_salle PRIMARY KEY (nSalle));
    ...


    Et je reçois
    ...
    38 CREATE TABLE Types
    39 (typeLP VARCHAR2(9), nomType VARCHAR2(20),
    40* CONSTRAINT pk_types PRIMARY KEY(typeLP));
    CONSTRAINT pk_Segment PRIMARY KEY (indIP));
    ..........................................................................*
    ERREUR à la ligne 6 :
    ORA-00911: Caractère non valide


    L'étoile est bien sous le point virgule
    Où est mon erreur ?

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Il faut supprimer la virgule avant CONSTRAINT comme pour:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nomSegment VARCHAR2(20) CONSTRAINT nn_nomSegment NOT NULL,

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Je ne pense pas car ma contrainte n'est pas sur la colonne précédente mais sur une contrainte située plus haut en ligne 3.

  4. #4
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    dans ce cas, il faut peut-être supprimer le ';' si vous exécutez le tout dans sqlplus avec la commande /

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Cela ne marche que pour un CREATE.

    Mais si je veux exécuter plusieurs CREATE de table en même temps comment faire ?
    Par quoi les séparer ?

  6. #6
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Normalement ça marche pour les 2. Si vous exécutez un script, vous pouvez vous en passer car / exécute le contenu du buffer sqlplus, c'est plus intéressant en interactif qu'en mode "batch".

    Mais les 2 fonctionnent:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    drop table t1;
     
    drop table t2;
     
    create table t1(x int);
     
    create table t2(y int);
     
    exit
     
    =>
     
    SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 23 11:23:34 2006
     
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
     
     
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
     
     
    Table dropped.
     
     
    Table dropped.
     
     
    Table created.
     
     
    Table created.
     
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64
    bit Production
    With the Partitioning, OLAP and Data Mining options

    et


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
    drop table t1;
     
    drop table t2;
     
    create table t1(x int)
    /
    create table t2(y int)
    /
    exit
     
    =>
     
    SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 23 11:24:50 2006
     
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
     
     
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
     
     
    Table dropped.
     
     
    Table dropped.
     
     
    Table created.
     
     
    Table created.
     
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64
    bit Production

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Je suis une brutte...
    Je m'entête à utilise SQL*Plus graphique et non SQL*Plus Worksheet.
    C'est sous le second que l'on peut enchaînner les ordres.

    Merci pour ton aide.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Pour info, j'ai trouvé la description du code ORA-00911 (invalid character) à l'adresse suivante :

    http://turfybot.free.fr/oracle/8i/errors/ORA-00911.html

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

Discussions similaires

  1. [Oracle] Erreur ORA-00911
    Par BlueSun2 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/02/2010, 17h21
  2. erreur ora-00911 et ora-24374
    Par yassirzine dans le forum PL/SQL
    Réponses: 10
    Dernier message: 13/05/2009, 23h59
  3. Réponses: 2
    Dernier message: 15/04/2009, 07h42
  4. Réponses: 8
    Dernier message: 11/11/2008, 17h33
  5. Réponses: 2
    Dernier message: 08/08/2008, 18h03

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