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

Xử lý ngoại lệ ORACLE

Các ngoại lệ PL / SQL được xác định trước là đặc biệt cho Oracle. Bạn thực sự không thể lộn xộn với những thứ đó. Khi bạn muốn có một tập hợp các ngoại lệ được xác định trước của riêng mình, bạn không thể khai báo chúng "toàn cầu" như các ngoại lệ tiêu chuẩn. Thay vào đó, hãy tạo một ngoại lệ gói có tất cả các khai báo ngoại lệ và sử dụng nó trong ứng dụng của bạn mã.

Ví dụ:

CREATE OR REPLACE PACKAGE my_exceptions
AS
  insert_null_into_notnull EXCEPTION;
  PRAGMA EXCEPTION_INIT(insert_null_into_notnull, -1400);

  update_null_to_notnull EXCEPTION;
  PRAGMA EXCEPTION_INIT(update_null_to_notnull, -1407);
END my_exceptions;
/

Bây giờ hãy sử dụng ngoại lệ được xác định trong gói

CREATE OR REPLACE PROCEDURE use_an_exception AS
BEGIN
  -- application specific code ...
  NULL;
EXCEPTION
  WHEN my_exceptions.insert_null_into_notnull THEN
     -- application specific handling for ORA-01400: cannot insert NULL into (%s)
     RAISE;
END;
/

Nguồn: http://www.orafaq.com/wiki/Exception



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RMAN Các lệnh sao lưu

  2. Oracle 10g PL / SQL- Chọn kết quả làm giá trị cột cập nhật

  3. Sử dụng các giao dịch lồng nhau trong oracle

  4. Lệnh gọi thủ tục được lưu trữ với con trỏ ném ngoại lệ tên cột không hợp lệ

  5. làm thế nào để kích hoạt cập nhật giá trị hàng trong bảng bằng cách sử dụng giá trị hàng từ một bảng khác trong Apex Oracle SQL?