Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Nhà phát triển PL / SQL làm thế nào để lấy hàng khiến việc chèn không thành công?

Từ oracle 10g r2, bạn có thể sử dụng lỗi nhật ký mệnh đề của chèn lệnh ghi lỗi trong một bảng riêng biệt. Đây là một ví dụ:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException:Exhausted Resultset

  2. Làm cách nào để in một tam giác các ngôi sao bằng SQL

  3. Làm cách nào để bạn tạo một bảng tạm thời trong cơ sở dữ liệu Oracle?

  4. Làm thế nào để có được quý từ ngày trong Oracle?

  5. Oracle:tính duy nhất chọn lọc chỉ mục dựa trên hàm