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

(Oracle SQL) Bắt một lỗi ràng buộc duy nhất

Bạn cần xác định một PL/SQL lồng nhau Chặn và xử lý ngoại lệ trong EXCEPTION CHẶN bằng WHEN DUP_VAL_ON_INDEX ...

Nó không nên KHÔNG 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. Chức năng tổng hợp Oracle để trả về một giá trị ngẫu nhiên cho một nhóm?

  2. Gặp phải lỗi SQL:ORA-01843:không phải là tháng hợp lệ

  3. trình tự không tồn tại ORA-02289

  4. Chia các giá trị được phân tách bằng dấu phẩy thành các cột trong Oracle

  5. SQL Chọn ngày có doanh số bán tối đa cho từng bộ phận