sql >> Database >  >> RDS >> Oracle

waarom wordt 'tabel maken' in sql-script 3 keer uitgevoerd wanneer slechts 1 create-instructie wordt gebruikt?

Je hebt gezegd dat je de code hebt uitgecommentarieerd. Het zijn die opmerkingen die het probleem veroorzaken.

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> 

De schuine streep (/ ) aan het begin van de opmerkingen is het opnieuw indienen van de opdracht in de buffer .

De SQL*Plus-documentatie zegt ook :

Dus als u uw opmerkingen wijzigt om een ​​spatie te hebben tussen de /* en de uitgecommentarieerde code die niet zal gebeuren, en die zullen worden genegeerd:

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. Len() versus datalength() in SQL Server 2005

  2. Hoe te voorkomen dat twee verschillende threads dezelfde rijen uit DB lezen (Hibernate en Oracle 10g)

  3. Opgeslagen procedures versus triggers in MySQL

  4. MacOSX homebrew mysql root-wachtwoord