Oracle
 sql >> Base de données >  >> RDS >> Oracle

pourquoi 'create table' dans le script sql s'exécute-t-il 3 fois alors qu'il n'utilise qu'une seule instruction create?

Vous avez dit que vous avez commenté le code. Ce sont ces commentaires qui causent le problème.

SQL> create table t42(id number(38));

Table created.

SQL> /*insert into t42(id) values (1);*/
create table t42(id number(38))
             *
ERROR at line 1:
ORA-00955: name is already used by an existing object


SQL> /*exec dbms_stats.gather_schema_stats(user);*/
create table t42(id number(38))
             *
ERROR at line 1:
ORA-00955: name is already used by an existing object


SQL> show errors
No errors.
SQL> 

La barre oblique (/ ) au début des commentaires est resoumettre la commande dans le tampon .

La documentation SQL*Plus indique également :

Donc, si vous modifiez vos commentaires pour avoir un espace entre le /* et le code commenté qui ne se produira pas, et ceux-ci seront ignorés :

SQL> create table t42(id number(38));

Table created.

SQL> /* insert into t42(id) values (1); */
SQL> /* exec dbms_stats.gather_schema_stats(user); */
SQL> show errors
No errors.
SQL>