Trong cách đọc kèo bóng đá thủ tục được gọi bởigọi
lệnh cũng như trong cách đọc kèo bóng đá khối mã ẩn danh (do
Lệnh), có thể kết thúc cách đọc kèo bóng đá bằng các lệnhcam kết
và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 đầu
vàkết thúc
Có ý 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ỗi
vàrollback và chuỗi
thực hiện điều này.
Điều khiển cách đọc kèo bóng đá chỉ có thể tronggọi
hoặcdo
Những lời mời từ cấp cao nhất hoặc lồng nhaugọi
hoặcdo
Nhữ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 SavePoint
lệ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ết
hoặcrollback
. Điều đó có nghĩa là con trỏ được đánh giá đầy đủ ở lần đầu tiêncam kết
hoặcrollback
thay 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ết
hoặ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
).