sql >> Base de Datos >  >> RDS >> Oracle

¿Por qué 'crear tabla' en el script sql se ejecuta 3 veces cuando solo se usa 1 declaración de creación?

Has dicho que has comentado el código. Son esos comentarios los que están causando el 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 inclinada (/ ) al comienzo de los comentarios es reenviando el comando en el búfer .

La documentación de SQL*Plus también dice :

Entonces, si cambia sus comentarios para tener un espacio entre el /* y el código comentado que no sucederá, y se ignorarán:

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>