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

Chèn các bản ghi cha / con trong một giao dịch

Phần chèn con sẽ thấy bất kỳ phần cha mẹ nào đã được cam kết hoặc đã được chèn trước đó bởi cùng một giao dịch (cho dù được cam kết hay không).

Một điều cần xác minh là liệu việc chèn cha mẹ có tự động lấy giá trị khóa chính hay không (ví dụ:thông qua một trình kích hoạt).

Tức là bạn đưa ra statementINSERT thành các giá trị Contracts (contract_sequence_number, ...) (10437, ...);

nhưng trình kích hoạt xác định một contract_sequence_number mới từ chuỗi và thực sự cấp cho nó khóa chính 10438 (hoặc bất cứ thứ gì).

Một vấn đề khác có thể là bất kỳ lớp ORM nào gây ra vấn đề bằng cách không phát hành các phần chèn theo đúng thứ tự hoặc sử dụng các kết nối khác nhau trong một nhóm cho một 'giao dịch'.

Ngoài ra, hãy kiểm tra phần chèn của phụ huynh không trả lại lỗi.

Hãy thử thực hiện một giao dịch mẫu thông qua một ứng dụng khách thông thường (chẳng hạn như SQL * Plus) và xem điều đó có hiệu quả không. Nếu chèn con không thành công ở đó, chỉ cần truy vấn lại mục nhập gần đây nhất từ ​​hợp đồng (ví dụ:nơi contract_sequence_number> 10400) và xem liệu việc chèn có thành công hay không.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL / Regex Challenge / Puzzle:Làm thế nào để xóa nhận xét khỏi mã SQL (bằng cách sử dụng truy vấn SQL)?

  2. Tạo lược đồ SQL từ XML

  3. Cách truy xuất thông tin máy chủ, cổng, sid, người dùng và mật khẩu trong java.sql.

  4. Tổng hợp nhiều bản ghi theo ngày

  5. ORA-30076:trường trích xuất không hợp lệ cho nguồn trích xuất