Oracle
 sql >> Baza danych >  >> RDS >> Oracle

dlaczego 'create table' w skrypcie sql wykonuje się 3 razy, gdy używa się tylko 1 instrukcji create?

Powiedziałeś, że skomentowałeś kod. To właśnie te komentarze powodują problem.

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> 

Ukośnik (/ ) na początku komentarzy jest ponowne przesłanie polecenia w buforze .

Dokumentacja SQL*Plus także mówi :

Więc jeśli zmienisz swoje komentarze, aby mieć spację między /* i zakomentowany kod, który się nie wydarzy, a te zostaną zignorowane:

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>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zezwalanie użytkownikom na wybór z tabeli

  2. Końcowe zero

  3. Wyszukaj kolumnę XML w SQL

  4. Uzyskiwanie uchwytu do natywnego połączenia Oracle w Hibernate 4 w celu uruchomienia przechowywanego procesu

  5. MNIEJSZE NIŻ LUB RÓWNE W Oracle SQL