Tôi đã tự hỏi nếu nó là gián tiếp có thể có một kích hoạt thực hiện ngay trước khi giao dịch sắp cam kết? Trong trình kích hoạt này, tôi sẽ thực hiện kiểm tra tính nhất quán và khôi phục giao dịch nếu cần.postgres - kích hoạt trước khi giao dịch cam kết
Ví dụ, tôi có ba bảng:
users (id, name)
groups (id, name)
user_in_group (user_id, group_id)
Tôi muốn tạo ra một kích hoạt mà xác nhận rằng một người sử dụng luôn luôn là một phần của một nhóm. Không cho phép người dùng mồ côi. Mỗi lần chèn vào người dùng xảy ra, trình kích hoạt này sẽ xác minh rằng một chèn tương ứng vào user_in_group cũng xảy ra. Nếu không, giao dịch sẽ không được thực hiện.
Điều này không thể thực hiện bằng cách sử dụng trình kích hoạt dựa trên hàng hoặc lệnh đơn giản vì kịch bản trên yêu cầu hai câu lệnh riêng biệt.
Cách khác, khi xóa từ user_in_group xảy ra, có thể dễ dàng thực hiện bởi trình kích hoạt dựa trên hàng.
Tôi biết. Không thể hoàn thành kịch bản được mô tả trong câu hỏi bằng cách sử dụng các loại trình kích hoạt này. Đó là lý do tại sao tôi đang tìm kiếm một cách gián tiếp. Bạn có biết ai không? –