Oracle
 sql >> Database >  >> RDS >> Oracle

perché "crea tabella" nello script sql viene eseguito 3 volte quando si utilizza solo 1 istruzione create?

Hai detto di aver commentato il codice. Sono quei commenti che causano il problema.

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 barra (/ ) all'inizio dei commenti invia nuovamente il comando nel buffer .

La documentazione di SQL*Plus dice :

Quindi, se modifichi i tuoi commenti per avere uno spazio tra il /* e il codice commentato che non accadrà e quelli verranno ignorati:

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>