Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong cách đọc kèo bóng đá phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

41.8. Quản lý cách đọc kèo bóng đá#

Trong cách đọc kèo bóng đá thủ tục được gọi bởigọilệnh cũng như trong cách đọc kèo bóng đá khối mã ẩn danh (doLệnh), có thể kết thúc cách đọc kèo bóng đá bằng các lệnhcam kết​​rollback. Một cách đọc kèo bóng đá mới được bắt đầu tự động sau khi kết thúc cách đọc kèo bóng đá bằng cách sử dụng các lệnh này, do đó không có riêng biệtBắt đầu cách đọc kèo bóng đálệnh. (Lưu ý rằngbắt đầukết thúcCó ý nghĩa khác nhau trong PL/PGSQL.)

Đây là một ví dụ đơn giản:

Tạo quy trình cách đọc kèo bóng đá dịch_test1 ()

Một cách đọc kèo bóng đá mới bắt đầu với các đặc điểm cách đọc kèo bóng đá mặc định như mức cách ly cách đọc kèo bóng đá. Trong trường hợp các cách đọc kèo bóng đá được cam kết trong một vòng lặp, có thể tự động bắt đầu các cách đọc kèo bóng đá mới với các đặc điểm giống như các đặc điểm trước.cam kết và chuỗirollback và chuỗithực hiện điều này.

Điều khiển cách đọc kèo bóng đá chỉ có thể tronggọihoặcdoNhững lời mời từ cấp cao nhất hoặc lồng nhaugọihoặcdoNhững lời mời mà không có bất kỳ lệnh can thiệp nào khác. Ví dụ: nếu ngăn xếp cuộc gọi làGọi Proc1 ()Gọi Proc2 ()Gọi Proc3 (), sau đó các thủ tục thứ hai và thứ ba có thể thực hiện các hành động kiểm soát cách đọc kèo bóng đá. Nhưng nếu ngăn xếp cuộc gọi làgọi Proc1 ()Chọn func2 ()gọi Proc3 (), thì quy trình cuối cùng không thể thực hiện kiểm soát cách đọc kèo bóng đá, vìChọnở giữa.

PL/PGSQLKhông hỗ trợ SavePoints (SavePoint/rollback to savePoint/Phát hành SavePointlệnh). cách đọc kèo bóng đá mẫu sử dụng điển hình cho cách đọc kèo bóng đá điểm lưu có thể được thay thế bằng cách đọc kèo bóng đá khối bằng trình xử lý ngoại lệ (xemPhần 41.6.8). Dưới mui xe, một khối có trình xử lý ngoại lệ tạo thành một phép trừ, điều đó có nghĩa là các cách đọc kèo bóng đá không thể kết thúc bên trong một khối như vậy.

Cân nhắc đặc biệt áp dụng cho cách đọc kèo bóng đá vòng lặp con trỏ. Xem xét ví dụ này:

Tạo quy trình cách đọc kèo bóng đá dịch_test2 ()

Thông thường, con trỏ được tự động đóng khi cam kết cách đọc kèo bóng đá. Tuy nhiên, một con trỏ được tạo ra như một phần của vòng lặp như thế này được tự động chuyển đổi thành con trỏ có thể giữ được bởi đầu tiêncam kếthoặcrollback. Điều đó có nghĩa là con trỏ được đánh giá đầy đủ ở lần đầu tiêncam kếthoặcrollbackthay vì hàng từng hàng. Con trỏ vẫn được gỡ bỏ tự động sau vòng lặp, vì vậy điều này chủ yếu là vô hình đối với người dùng.cam kếthoặcrollback.

Các lệnh cách đọc kèo bóng đá không được phép trong các vòng lặp con trỏ được điều khiển bởi các lệnh không chỉ đọc (ví dụCập nhật ... Trả lại).