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. 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.
    0
    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é.
      0