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

Trình kích hoạt chèn có cần câu lệnh cam kết không

Không chỉ các trình kích hoạt không cần COMMIT mà bạn không thể đặt một trình kích hoạt vào:một trình kích hoạt sẽ không biên dịch nếu mã của phần thân bao gồm COMMIT (hoặc khôi phục).

Điều này là do kích hoạt kích hoạt trong một giao dịch. Khi trình kích hoạt kích hoạt giao dịch hiện tại vẫn chưa hoàn tất. Khi COMMIT kết thúc một giao dịch, việc cho phép chúng trong trình kích hoạt sẽ phá vỡ đơn vị công việc.

Vì vậy, các thay đổi được thực hiện trong trình kích hoạt được cam kết (hoặc quay trở lại) bởi giao dịch sở hữu đã phát hành DML đã kích hoạt trình kích hoạt.

Đúng là các trình kích hoạt có thể chạy trong PRAGMA AUTONOMOUS_TRANSACTION, trong trường hợp đó chúng phải có COMMIT. Nhưng đây là một trường hợp phức tạp, vì có rất ít cách sử dụng có ý nghĩa của các giao dịch lồng nhau trong Oracle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trích xuất XMLTYPE của Oracle dựa trên giá trị và điều kiện

  2. Cách tích hợp Oracle và Kafka

  3. So sánh các ngày sử dụng Dynamic Action trên DatePicker Oracle Apex

  4. Làm cách nào để sử dụng Con trỏ tham chiếu Oracle từ C # ODP.NET dưới dạng Tham số ReturnValue mà không cần sử dụng Hàm hoặc Thủ tục được Lưu trữ?

  5. Làm thế nào để đệm các số 0 cho một trường số?