sql >> データベース >  >> RDS >> Oracle

1つのcreateステートメントのみを使用しているのにSQLスクリプトの「createtable」が3回実行されるのはなぜですか?

    コードをコメントアウトしたとのことですが。問題を引き起こしているのはそれらのコメントです。

    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> 
    

    スラッシュ(/ )コメントの先頭には、コマンドを再送信します。バッファ内

    SQL*Plusのドキュメントも述べています :

    したがって、コメントを変更して/*の間にスペースを入れると コメントアウトされたコードは発生せず、無視されます:

    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. PlanetScale&Vitess:レガシーシャードデータベースによる参照整合性

    2. グループ化された値のMysql再帰的減算および乗算

    3. MySQLとMariaDBのバックアップを暗号化する方法

    4. WindowsのNetbeans/Glassfishでjdbcドライバを追加する場所はどこですか?