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

Lỗi ngủ đông:giao dịch hiện tại bị hủy bỏ, các lệnh bị bỏ qua cho đến khi kết thúc khối giao dịch

Nó có thể có nghĩa là một số truy vấn của bạn không được thực thi. Nếu bạn có nhiều truy vấn trong giao dịch, ví dụ:

  • bắt đầu giao dịch
  • truy vấn1
  • truy vấn2
  • truy vấn3
  • kết thúc giao dịch

và query2 ném lỗi, sau đó khi bạn cố gắng thực thi query3, bạn sẽ gặp lỗi này.

  • bắt đầu giao dịch
  • query1 (đã thành công)
  • query2 (lỗi, đã xảy ra lỗi)
  • query3 (ngoại lệ như của bạn được đưa ra)
  • kết thúc giao dịch

Bạn nên xử lý ngoại lệ được ném ra từ query2 và xử lý nó. Hiển thị một số lỗi cho người dùng, giao dịch khôi phục, không bao giờ cố thực hiện truy vấn3.

Xem thêm tại đây: http://www.faqs.org/docs/ppbook/x15040 .htm

CẬP NHẬT

Để kết thúc giao dịch:

List object = null; 
try {
  org.hibernate.Transaction tx = session.beginTransaction(); 
  try { 
    Query q = session.createQuery("from Table where lower(translatedText) like lower('%" + term + "%') or lower(translatedAscii) like lower('%" + term + "%') or lower(originalAscii) like lower('%" + term + "%')"); 
    object = (List<Table>) q.list(); 
  } catch (Exception e) {
    e.printStackTrace(); 
  } finally {
    //You can safely rollback here because you are not changing anything in the DB.
    //If you change something, you should commit transaction at the end of try block,
    //and here check if it is still active and rollback if it is.
    tx.rollback();
  }
  return object; 
} catch (HibernateException e) {
  throw new RuntimeException("Could not begin transaction");
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bộ đệm kế hoạch thực thi cho các hàm PL / pgSQL trong PostgreSQL

  2. DecimalField chuyển đổi 0 thành 0E-10

  3. không thể lưu trữ 0 hoặc 1 dưới dạng boolean laravel postgresql

  4. Cách trả lại id trên Phụ trang với Ibatis (với từ khóa QUAY LẠI)

  5. Các truy vấn kiểu CHỌN có phải là kiểu duy nhất có thể được lồng vào nhau không?