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

Kontynuacja wstawek w Oracle po zgłoszeniu wyjątku

Gdyby wolumeny danych były większe, przetwarzanie wiersz po wierszu w PL/SQL byłoby prawdopodobnie zbyt wolne. W takich okolicznościach można użyć rejestrowania błędów DML, opisanego tutaj

CREATE TABLE raises (emp_id NUMBER, sal NUMBER 
   CONSTRAINT check_sal CHECK(sal > 8000));

EXECUTE DBMS_ERRLOG.CREATE_ERROR_LOG('raises', 'errlog');

INSERT INTO raises
   SELECT employee_id, salary*1.1 FROM employees
   WHERE commission_pct > .2
   LOG ERRORS INTO errlog ('my_bad') REJECT LIMIT 10;

SELECT ORA_ERR_MESG$, ORA_ERR_TAG$, emp_id, sal FROM errlog;

ORA_ERR_MESG$               ORA_ERR_TAG$         EMP_ID SAL
--------------------------- -------------------- ------ -------
ORA-02290: check constraint my_bad               161    7700
 (HR.SYS_C004266) violated


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy ODP.NET wymaga instalacji klienta Oracle?

  2. Jak rozwiązać ORA-29285:błąd zapisu pliku

  3. Zainstaluj klienta bazy danych Oracle krok po kroku

  4. Jak znaleźć Waitevent Historia sesji Oracle

  5. Integrator danych Oracle (ODI)