ORA-00911: invalid character

almeriense Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
jee pee Messages postés 41510 Date d'inscription   Statut Modérateur Dernière intervention   -
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

BadGuitarist Messages postés 367 Date d'inscription   Statut Membre Dernière intervention   27
 
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
jee pee Messages postés 41510 Date d'inscription   Statut Modérateur Dernière intervention   9 712
 
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