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

Làm cách nào để biết liệu tôi có thực hiện công việc chưa cam kết trong một giao dịch Oracle hay không?

Nếu bạn không có quyền truy cập vào phiên v $, bạn có thể sử dụng

select dbms_transaction.local_transaction_id from dual;

Điều này chỉ hoạt động từ bên trong phiên nhưng không cần đặc quyền v $. Nếu nó trả về giá trị không phải null, bạn đã bắt đầu một giao dịch. Điều đó thường có nghĩa là những thay đổi không được cam kết, nhưng vẫn có những ngoại lệ. Nếu bạn đã phát hành một điểm lưu, thay đổi dữ liệu và quay trở lại điểm lưu, giao dịch vẫn 'tồn tại'. Ngoài ra, việc sử dụng các liên kết cơ sở dữ liệu sẽ bắt đầu các giao dịch, thậm chí chỉ cho các lựa chọn (hoặc chúng đã từng làm).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo trình kích hoạt cập nhật một cột trên một bảng khi một cột trong bảng khác được cập nhật

  2. Hàm PL / SQL trong Oracle không thể thấy DBMS_AQ

  3. MySQL tương đương với xếp hạng ORACLES ()

  4. Làm thế nào để chọn top 1 và sắp xếp theo ngày trong Oracle SQL?

  5. Kích hoạt để thực thi mối quan hệ M-M