ORA-00911: invalid character

Bonjour,

je suis très nouveau dans SQL. J'utilise Oracle Database 11g et je voudrais créer deux tables dans la même commande. Est-ce que cela est possible?

create table VILLE
(
CD_VILLE VARCHAR2(5)
);
create table DEP
(
CD_DEP VARCHAR2(5)
);

2 réponses

  1. Modérateur
    Bonjour,

    Pour moi les commandes

    create table VILLE
    (
    CD_VILLE VARCHAR2(5)
    );
    create table DEP
    (
    CD_DEP VARCHAR2(5)
    );

    dans un fichier .sql doivent fonctionner. Fonctionner à partir de sqlplus. Dans un autre outil, placer 2 commandes n'est peut être pas possible.

    Par contre :
    create table VILLE 
      ( 
        CD_VILLE VARCHAR2(5) 
      );
      /

    Çà cela doit générer une erreur de type "cet objet existe déjà". Car le ; exécute la commande et le / par derrière réexecute la même commande présente dans le buffer courant.

    / et ; sont proches en sqlplus. En interactif je vais souvent utiliser le ; en fin de ma commande. Mais dans un source je vais mettre le / en début de ligne pour la visibilité.

    create table VILLE
      ( CD_VILLE VARCHAR2(5) )
    /
    create table DEP
      ( CD_DEP VARCHAR2(5) )
    /


    Cdlt

    ☮        Un étranger, c'est un ami qu'on n'a pas encore rencontré.
    1. Bonjour,
      Je pense que tu veux dans un même script créer plusieurs tables.
      Pour ce faire, tu crées un fichier texte c_tables.sql dans lequel tu as les commandes :

        create table VILLE 
        ( 
          CD_VILLE VARCHAR2(5) 
        );
        /
      
        create table DEP 
        ( 
          CD_DEP VARCHAR2(5) 
        ); 
      /
      


      Le / après chaque commande de modification des structures impliquent l'exécution de la commande CREATE.

      Dans SQLplus par exemple, tu exécuteras ton script SQL ainsi :
      execute c_tables.sql


      Cordialement,
      BG.