kèo bóng đá pháp - Truy xuất hàng từ truy vấn bằng cách sử dụng con trỏ
Fetch [Hướng
] [từ | TRONG ]con trỏ_name
WHEREHướng
có thể là một trong số:Tiếp theoĐếm
tương đốiĐếm
Đếm
Tất cảĐếm
Chuyển tiếp tất cảĐếm
lùi tất cả
Fetch
Lấy các kèo bóng đá pháp bằng con trỏ được tạo trước đó.
Một con trỏ có vị trí liên quan, được sử dụng bởiFetch
. Vị trí con trỏ có thể là trước kèo bóng đá pháp đầu tiên của kết quả truy vấn, trên bất kỳ kèo bóng đá pháp cụ thể nào của kết quả hoặc sau kèo bóng đá pháp cuối cùng của kết quả.Fetch
11754_11897kèo bóng đá pháp tất cả
hoặckèo bóng đá pháp tất cả
sẽ luôn để con trỏ được định vị sau kèo bóng đá pháp cuối cùng hoặc trước kèo bóng đá pháp đầu tiên.
các biểu mẫuTiếp theo
, trước
, Đầu tiên
, Last
, Tuyệt đối
, tương đối
Lấy một kèo bóng đá pháp sau khi di chuyển con trỏ một cách thích hợp. Nếu không có kèo bóng đá pháp như vậy, kết quả trống sẽ được trả về và con trỏ được để lại vị trí trước kèo bóng đá pháp đầu tiên hoặc sau kèo bóng đá pháp cuối cùng khi thích hợp.
Các biểu mẫu sử dụngChuyển tiếp
vàlùi
12619_12794Đếm
vượt quá số lượng kèo bóng đá pháp có sẵn).
tương đối 0
, Chuyển tiếp 0
vàlùi 0
Tất cả yêu cầu kèo bóng đá pháp hàng hiện tại mà không di chuyển con trỏ, nghĩa là kèo bóng đá pháp lại hàng được kèo bóng đá pháp gần đây nhất. Điều này sẽ thành công trừ khi con trỏ được định vị trước hàng đầu tiên hoặc sau hàng cuối cùng;
Trang này mô tả việc sử dụng con trỏ ở cấp lệnh SQL. Nếu bạn đang cố gắng sử dụng con trỏ bên trongPL/PGSQLhàm, các quy tắc khác nhau - xemPhần 43.7.3.
Hướng
Hướng
Xác định hướng kèo bóng đá pháp và số lượng hàng để kèo bóng đá pháp. Nó có thể là một trong những điều sau đây:
NEXT
Lấy kèo bóng đá pháp tiếp theo. Đây là mặc định nếuHướng
được bỏ qua.
trước
kèo bóng đá pháp hàng trước.
Đầu tiên
Lấy kèo bóng đá pháp đầu tiên của truy vấn (giống nhưTuyệt đối 1
).
cuối cùng
Lấy kèo bóng đá pháp cuối cùng của truy vấn (giống nhưTuyệt đối -1
).
Tuyệt đốiĐếm
kèo bóng đá phápĐếm
'thứ của truy vấn hoặcabs (
'thứ kèo bóng đá pháp từ cuối nếuĐếm
)Đếm
là âm. Vị trí trước kèo bóng đá pháp đầu tiên hoặc sau kèo bóng đá pháp cuối cùng nếuĐếm
nằm ngoài phạm vi; Cụ thể,Tuyệt đối 0
Vị trí trước kèo bóng đá pháp đầu tiên.
tương đốiĐếm
kèo bóng đá phápĐếm
'Th thành công hoặcabs (
'kèo bóng đá pháp trước nếuĐếm
)Đếm
là âm.tương đối 0
Lấy lại kèo bóng đá pháp hiện tại, nếu có.
Đếm
Lấy tiếp theoĐếm
kèo bóng đá pháp (giống nhưChuyển tiếp
).Đếm
tất cả
kèo bóng đá pháp tất cả các hàng còn lại (giống nhưChuyển tiếp tất cả
).
Chuyển tiếp
Lấy kèo bóng đá pháp tiếp theo (giống nhưTiếp theo
).
Chuyển tiếpĐếm
Lấy tiếp theoĐếm
kèo bóng đá pháp.Chuyển tiếp 0
Lấy lại kèo bóng đá pháp hiện tại.
Chuyển tiếp tất cả
kèo bóng đá pháp tất cả các hàng còn lại.
lùi
kèo bóng đá pháp hàng trước (giống nhưTrước
).
lùiĐếm
kèo bóng đá pháp trướcĐếm
kèo bóng đá pháp (quét ngược).Backward 0
Lấy lại kèo bóng đá pháp hiện tại.
lùi tất cả
kèo bóng đá pháp tất cả các hàng trước (quét ngược).
Đếm
Đếm
là hằng số nguyên có thể ký, xác định vị trí hoặc số lượng hàng để kèo bóng đá pháp. VìChuyển tiếp
vàBackward
trường hợp, chỉ định âmĐếm
tương đương với việc thay đổi ý nghĩa củaChuyển tiếp
vàBackward
.
con trỏ_name
tên con trỏ mở.
Khi hoàn thành thành công, AFetch
Lệnh trả về thẻ lệnh của biểu mẫu
FetchĐếm
TheĐếm
là số lượng hàng được kèo bóng đá pháp (có thể là không). Lưu ý rằng trongPSQL, Thẻ lệnh sẽ không thực sự được hiển thị, vìPSQLHiển thị các hàng được kèo bóng đá pháp thay thế.
Con trỏ nên được khai báo vớicuộn
Tùy chọn nếu người ta có ý định sử dụng bất kỳ biến thể nào củaFetch
khác vớiFetch Next
hoặcFetch Forward
với số lượng tích cực. Đối với các truy vấn đơn giảnPostgreSQLsẽ cho phép kèo bóng đá pháp ngược từ con trỏ không được khai báo vớicuộn
, nhưng hành vi này tốt nhất không dựa vào. Nếu con trỏ được khai báo vớiKhông có cuộn
, không được phép kèo bóng đá pháp ngược.
Tuyệt đối
Fetches không nhanh hơn việc điều hướng đến hàng mong muốn với một động thái tương đối: Việc triển khai cơ bản phải đi qua tất cả các hàng trung gian. Lấy tiêu cực tuyệt đối thậm chí còn tồi tệ hơn: Truy vấn phải được đọc đến cuối để kèo bóng đá pháp hàng cuối cùng, và sau đó đi qua phía sau từ đó.kèo bóng đá pháp tuyệt đối 0
) nhanh.
khai báođược sử dụng để xác định con trỏ. Sử dụngDi chuyểnĐể thay đổi vị trí con trỏ mà không cần truy xuất dữ liệu.
Ví dụ sau khi đi qua một bảng bằng cách sử dụng con trỏ:
bắt đầu công việc;
tiêu chuẩn SQL xác địnhFetch
Chỉ sử dụng trong SQL nhúng. Biến thể củaFetch
Được mô tả ở đây trả về dữ liệu như thể nó làChọn
Kết quả thay vì đặt nó trong các biến máy chủ. Khác với điểm này,Fetch
hoàn toàn tương thích với tiêu chuẩn SQL.
TheFetch
Các biểu mẫu liên quan đếnChuyển tiếp
vàBackward
, cũng như các biểu mẫuFetch
vàĐếm
kèo bóng đá pháp tất cả
, trong đóChuyển tiếp
là ẩn, làPostgreSQLPhần mở rộng.
Tiêu chuẩn SQL chỉ cho phéptừ
trước tên con trỏ; tùy chọn sử dụng23144_23148
hoặc để chúng hoàn toàn ra ngoài, là một phần mở rộng.