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

Tiếp tục giao dịch Postgres với các ngoại lệ trong Java

Có thể tiếp tục nếu lỗi xảy ra bên trong SAVEPOINT . Đây là một ví dụ trong psql:

# create temporary table foo (i int primary key);
CREATE TABLE

Bắt đầu giao dịch và chèn một hàng:

# begin;
BEGIN
# insert into foo values(1);
INSERT 0 1

Bắt đầu một điểm lưu, chèn cùng một hàng hai lần. Điều này sẽ gây ra lỗi:

# savepoint bar;
SAVEPOINT
# insert into foo values(2);
INSERT 0 1
# insert into foo values(2);
ERROR:  duplicate key value violates unique constraint "foo_pkey"

Quay lại điểm lưu, sau đó chèn một hàng khác.

# rollback to savepoint bar;
ROLLBACK
# insert into foo values(3);
INSERT 0 1

Cam kết và xem những gì ở đó:

# commit;
COMMIT
# select * from foo;
 i 
---
 1
 3
(2 rows)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận ngày tạo cơ sở dữ liệu trên PostgreSQL

  2. (Một bảng) chèn hàng

  3. Làm thế nào để cung cấp một ứng dụng khách API với 1.000.000 kết quả cơ sở dữ liệu?

  4. Xóa các hàng của bảng được chỉ định trong tệp văn bản trong Postgres

  5. Danh sách gần kề thành biểu đồ JSON với Postgres