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

PL / SQL開発者は、挿入を失敗させた行を取得する方法を教えてください。

    oracle 10g r2から、ログエラー 挿入 の条項 別のテーブルにエラーを記録するコマンド。次に例を示します。

    SQL> create table test_table(
      2    id   number primary key,
      3    col1 varchar2(7)
      4  )
      5  ;
    
    Table created
    
    
    -- creates a table for logging errors (table name will be prefaced with err$_)
    SQL> begin dbms_errlog.create_error_log('TEST_TABLE'); end;
      2  /
    
    PL/SQL procedure successfully completed
    
    -- violates primary key constraint
    SQL> insert into test_table(id, col1)
      2  (  select 1, level
      3      from dual
      4    connect by level <= 3)
      5    log errors reject limit unlimited;
    
    1 row inserted
    
    SQL> commit;
    
    SQL> select * from test_table;
    
            ID COL1
    ---------- -------
             1 1
    
    
    SQL> select * from err$_test_table;
    
    ORA_ERR_NUMBER$ ORA_ERR_MESG$                                           ORA_ERR_ROWID$  ORA_ERR_OPTYP$ ORA_ERR_TAG$ ID  COL1
    --------------- ------------------------------------------------------------------------------------------------------------
                  1 ORA-00001: unique constraint (HR.SYS_C008315) violated  I                                            1     2
                  1 ORA-00001: unique constraint (HR.SYS_C008315) violated  I                                            1     3
    


    1. bash-変数へのSQLクエリ出力

    2. (My)SQLインジェクションを防ぐために、どの文字をエスケープする必要がありますか?

    3. JavaとSpringを使用してOracleデータベースにUTC/GMT日付を挿入します

    4. MySQLとMongoDB1000の読み取り