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

(Oracle SQL) Wyłapywanie unikalnego błędu ograniczenia

Musisz zdefiniować zagnieżdżony PL/SQL Blokuj i obsługuj wyjątek w EXCEPTION ZABLOKUJ jako WHEN DUP_VAL_ON_INDEX ...

Powinno NIE być IF DUP_VAL_ON_INDEX

Declare
violation_of_constraint EXCEPTION;
BEGIN
  BEGIN
  -- (A FEW INSERTS HERE: A, B, C)
  SAVEPOINT X;
  -- (ANOTHER INSERT HERE: D)
  EXCEPTION 
  WHEN DUP_VAL_ON_INDEX THEN
    ROLLBACK TO X;
    COMMIT;
    RAISE violation_of_constraint;
  END;
EXCEPTION
WHEN violation_of_constraint THEN
DBMS_OUTPUT.PUT_LINE('Value already exists');
COMMIT;
END;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Webrick bardzo wolno odpowiada. Jak to przyspieszyć?

  2. Jak skompilować wszystkie nieprawidłowe pakiety w schemacie?

  3. c# wczytaj tabelę SQL (ze znakami specjalnymi) do DataSet

  4. Czy Oracle może uruchamiać funkcje wiersza poleceń systemu Windows?

  5. oracle - konwertuj wiele formatów daty na jedną sformatowaną datę