Khai kèo bóng đá hôm nay và ngày mai - Xác định con trỏ
khai kèo bóng đá hôm nay và ngày maitên
[nhị phân] [không nhạy cảm] [[không] cuộn]Truy vấn
khai kèo bóng đá hôm nay và ngày mai
Cho phép người dùng tạo kèo bóng đá hôm nay và ngày mai trỏ, có thể được sử dụng để lấy một số lượng nhỏ hàng cùng một lúc trong một truy vấn lớn hơn. Sau khi kèo bóng đá hôm nay và ngày mai trỏ được tạo, các hàng được tìm nạp từ nó bằng cách sử dụngFetch.
Trang này mô tả việc sử dụng kèo bóng đá hôm nay và ngày mai trỏ ở cấp lệnh SQL. Nếu bạn đang cố gắng sử dụng kèo bóng đá hôm nay và ngày mai trỏ bên trongPL/PGSQLhàm, kèo bóng đá hôm nay và ngày mai quy tắc khác nhau - xemPhần 43.7.
tên
Tên của kèo bóng đá hôm nay và ngày mai trỏ sẽ được tạo.
nhị phân
khiến kèo bóng đá hôm nay và ngày mai trỏ trả về dữ liệu ở nhị phân thay vì ở định dạng văn bản.
Không nhạy cảm
chỉ ra rằng dữ liệu được lấy từ kèo bóng đá hôm nay và ngày mai trỏ phải không bị ảnh hưởng bởi các bản cập nhật lên (các) bảng nằm dưới kèo bóng đá hôm nay và ngày mai trỏ xảy ra sau khi kèo bóng đá hôm nay và ngày mai trỏ được tạo. TRONGPostgreSQL, Đây là hành vi mặc định; Vì vậy, từ khóa này không có hiệu lực và chỉ được chấp nhận để tương thích với tiêu chuẩn SQL.
cuộn
Không có cuộn
cuộn
Chỉ định rằng kèo bóng đá hôm nay và ngày mai trỏ có thể được sử dụng để truy xuất các hàng theo kiểu không tiếp theo (ví dụ: ngược). Tùy thuộc vào sự phức tạp của kế hoạch thực thi của truy vấn, chỉ địnhcuộn
có thể áp dụng hình phạt hiệu suất đối với thời gian thực hiện của truy vấn.Không cuộn
Chỉ định rằng kèo bóng đá hôm nay và ngày mai trỏ không thể được sử dụng để truy xuất các hàng theo kiểu không sau. Mặc định là cho phép cuộn trong một số trường hợp;cuộn
. Nhìn thấyGhi chúĐể biết chi tiết.
với giữ
không giữ
với giữ
Chỉ định rằng kèo bóng đá hôm nay và ngày mai trỏ có thể tiếp tục được sử dụng sau khi giao dịch tạo ra nó cam kết thành công.không giữ
Chỉ định rằng kèo bóng đá hôm nay và ngày mai trỏ không thể được sử dụng bên ngoài giao dịch đã tạo ra nó. Nếu khôngkhông giữ
cũng khôngvới giữ
được chỉ định,không giữ
là mặc định.
Truy vấn
AChọnhoặcgiá trịLệnh sẽ cung cấp các hàng được trả về bởi kèo bóng đá hôm nay và ngày mai trỏ.
kèo bóng đá hôm nay và ngày mai từ khóanhị phân
,không nhạy cảm
vàcuộn
có thể xuất hiện theo bất kỳ thứ tự nào.
kèo bóng đá hôm nay và ngày mai trỏ bình thường trả về dữ liệu ở định dạng văn bản, giống như AChọn
sẽ sản xuất. Thenhị phân
Tùy chọn Chỉ định rằng kèo bóng đá hôm nay và ngày mai trỏ sẽ trả về dữ liệu ở định dạng nhị phân. Điều này làm giảm nỗ lực chuyển đổi cho cả máy chủ và máy khách, với chi phí của nhiều nỗ lực của lập trình viên để đối phó với các định dạng dữ liệu nhị phân phụ thuộc vào nền tảng.1
Với kèo bóng đá hôm nay và ngày mai trỏ mặc định, trong khi với kèo bóng đá hôm nay và ngày mai trỏ nhị phân, bạn sẽ nhận được trường 4 byte chứa biểu diễn bên trong của giá trị (theo thứ tự byte lớn).
kèo bóng đá hôm nay và ngày mai trỏ nhị phân nên được sử dụng cẩn thận. Nhiều ứng dụng, bao gồmPSQL, không được chuẩn bị để xử lý kèo bóng đá hôm nay và ngày mai trỏ nhị phân và mong đợi dữ liệu sẽ quay lại ở định dạng văn bản.
Khi ứng dụng máy khách sử dụngTruy vấn mở rộngxôngGiao thức phát hành AFetch
lệnh, thông kèo bóng đá hôm nay và ngày mai giao thức liên kết chỉ định xem dữ liệu có được truy xuất ở định dạng văn bản hoặc nhị phân hay không. Lựa chọn này ghi đè theo cách mà con trỏ được xác định.
trừ khivới giữ
được chỉ định, kèo bóng đá hôm nay và ngày mai trỏ được tạo bởi lệnh này chỉ có thể được sử dụng trong giao dịch hiện tại. Do đó,khai kèo bóng đá hôm nay và ngày mai
không cóvới giữ
là vô dụng bên ngoài một khối giao dịch: kèo bóng đá hôm nay và ngày mai trỏ sẽ chỉ tồn tại để hoàn thành câu lệnh. Vì thếPostgreSQLkèo bóng đá hôm nay và ngày mai cáo lỗi nếu lệnh đó được sử dụng bên ngoài khối giao dịch. Sử dụngBắt đầuvàcam kết(hoặcrollback) để xác định khối giao dịch.
nếuvới giữ
được chỉ định và giao dịch tạo ra kèo bóng đá hôm nay và ngày mai trỏ cam kết thành công, kèo bóng đá hôm nay và ngày mai trỏ có thể tiếp tục được truy cập bằng các giao dịch tiếp theo trong cùng một phiên. (Nhưng nếu giao dịch tạo bị hủy bỏ, kèo bóng đá hôm nay và ngày mai trỏ bị xóa.) Một kèo bóng đá hôm nay và ngày mai trỏ được tạo bằngvới giữ
được đóng khi rõ ràngĐóng
Lệnh được cấp trên đó hoặc phiên kết thúc. Trong quá trình triển kèo bóng đá hôm nay và ngày mai hiện tại, các hàng được biểu thị bằng con trỏ được sao chép vào một tệp tạm thời hoặc khu vực bộ nhớ để chúng vẫn có sẵn cho các giao dịch tiếp theo.
với giữ
có thể không được chỉ định khi truy vấn bao gồmđể cập nhật
hoặcđể chia sẻ
.
Thecuộn
Tùy chọn nên được chỉ định khi xác định kèo bóng đá hôm nay và ngày mai trỏ sẽ được sử dụng để tìm nạp ngược. Điều này được yêu cầu bởi tiêu chuẩn SQL.POSTGRESQLsẽ cho phép tìm nạp ngược mà không cầncuộn
, nếu kế hoạch truy vấn của kèo bóng đá hôm nay và ngày mai trỏ đủ đơn giản để không cần thêm chi phí để hỗ trợ nó. Tuy nhiên, các nhà phát triển ứng dụng được khuyên không nên dựa vào việc sử dụng các fetch ngược từ kèo bóng đá hôm nay và ngày mai trỏ chưa được tạo bằngcuộn
. Nếu nhưKhông có cuộn
được chỉ định, sau đó tìm nạp ngược không được phép trong mọi trường hợp.
Fetches lùi cũng không được phép khi truy vấn bao gồmđể cập nhật
hoặcđể chia sẻ
; Vì vậycuộn
có thể không được chỉ định trong trường hợp này.
kèo bóng đá hôm nay và ngày mai trỏ có thể cuộn có thể cho kết quả không mong muốn nếu chúng gọi bất kỳ chức năng dễ bay hơi nào (xemPhần 38.7). Khi một hàng được tìm nạp trước đó được tìm nạp lại, kèo bóng đá hôm nay và ngày mai chức năng có thể được thực hiện lại, có lẽ dẫn đến kết quả khác với lần đầu tiên.Không có cuộn
Đối với một truy vấn liên quan đến các chức năng dễ bay hơi. Nếu điều đó không thực tế, một cách giải quyết là tuyên bố kèo bóng đá hôm nay và ngày mai trỏCuộn với giữ
và cam kết giao dịch trước khi đọc bất kỳ hàng nào từ nó. Điều này sẽ buộc toàn bộ đầu ra của kèo bóng đá hôm nay và ngày mai trỏ phải được vật chất hóa trong lưu trữ tạm thời, để các chức năng dễ bay hơi được thực thi chính xác một lần cho mỗi hàng.
Nếu truy vấn của kèo bóng đá hôm nay và ngày mai trỏ bao gồmđể cập nhật
hoặcđể chia sẻ
, sau đó kèo bóng đá hôm nay và ngày mai hàng được trả về được khóa tại thời điểm chúng được tìm nạp lần đầu tiên, theo cách tương tự như đối với một thông thườngChọnLệnh với kèo bóng đá hôm nay và ngày mai tùy chọn này. Ngoài ra, kèo bóng đá hôm nay và ngày mai hàng được trả lại sẽ là phiên bản cập nhật nhất;Hồikèo bóng đá hôm nay và ngày mai trỏ nhạy cảmHồi. (Chỉ địnhKhông nhạy cảm
cùng vớiđể cập nhật
hoặcđể chia sẻ
là một lỗi.)
Người ta thường nên sử dụngđể cập nhật
Nếu kèo bóng đá hôm nay và ngày mai trỏ được dự định sử dụng vớiCập nhật ... trong đó hiện tại của
hoặcXóa ... nơi hiện tại của
. Sử dụngđể cập nhật
Ngăn chặn kèo bóng đá hôm nay và ngày mai phiên khác thay đổi kèo bóng đá hôm nay và ngày mai hàng giữa thời gian chúng được tìm nạp và thời gian chúng được cập nhật. Không cóđể cập nhật
, sau đótrong đó hiện tại của
Lệnh sẽ không có hiệu lực nếu hàng được thay đổi kể từ khi kèo bóng đá hôm nay và ngày mai trỏ được tạo.
Một lý do khác để sử dụngđể cập nhật
Có phải không có nó, sau đótrong đó hiện tại của
Có thể thất bại nếu truy vấn kèo bóng đá hôm nay và ngày mai trỏ không đáp ứng các quy tắc của tiêu chuẩn SQL vìSimply Updatable(Đặc biệt, kèo bóng đá hôm nay và ngày mai trỏ phải tham khảo chỉ một bảng và không sử dụng nhóm hoặcĐặt hàng bởi
). kèo bóng đá hôm nay và ngày mai trỏ không chỉ đơn giản là cập nhật có thể hoạt động, hoặc có thể không, tùy thuộc vào chi tiết lựa chọn của kế hoạch;để cập nhật
được chỉ định, kèo bóng đá hôm nay và ngày mai trỏ được đảm bảo là có thể cập nhật.
Lý do chính không sử dụngđể cập nhật
vớitrong đó hiện tại của
là nếu bạn cần con trỏ có thể cuộn được hoặc không nhạy cảm với các bản cập nhật tiếp theo (nghĩa là tiếp tục hiển thị dữ liệu cũ). Nếu đây là một yêu cầu, hãy chú ý đến các cảnh kèo bóng đá hôm nay và ngày mai được hiển thị ở trên.
Tiêu chuẩn SQL chỉ đưa ra các điều khoản cho kèo bóng đá hôm nay và ngày mai trỏ trong nhúngSQL. ThePostgreSQLMáy chủ không triển kèo bóng đá hôm nay và ngày maiMở
Tuyên bố cho con trỏ; Một con trỏ được coi là mở khi nó được khai kèo bóng đá hôm nay và ngày mai.ECPG, Bộ tiền xử lý SQL được nhúng choPostgreSQL, hỗ trợ các quy ước kèo bóng đá hôm nay và ngày mai trỏ SQL tiêu chuẩn, bao gồm cả các quy ước liên quan đếnkhai kèo bóng đá hôm nay và ngày mai
vàMở
câu lệnh.
Bạn có thể thấy tất cả các kèo bóng đá hôm nay và ngày mai trỏ có sẵn bằng cách truy vấnPG_CURSORS
Chế độ xem hệ thống.
Để khai kèo bóng đá hôm nay và ngày mai con trỏ:
Tuyên bố kèo bóng đá hôm nay và ngày mai trỏ Liahona cho Chọn * từ phim;
xemFetchĐể biết thêm ví dụ về việc sử dụng kèo bóng đá hôm nay và ngày mai trỏ.
Tiêu chuẩn SQL nói rằng phụ thuộc vào việc thực hiện cho dù kèo bóng đá hôm nay và ngày mai trỏ có nhạy cảm với các bản cập nhật đồng thời của dữ liệu cơ bản theo mặc định hay không. TRONGPostgreSQL, kèo bóng đá hôm nay và ngày mai trỏ không nhạy cảm theo mặc định và có thể được thực hiện nhạy cảm bằng cách chỉ địnhđể cập nhật
. kèo bóng đá hôm nay và ngày mai sản phẩm khác có thể hoạt động khác nhau.
Tiêu chuẩn SQL chỉ cho phép kèo bóng đá hôm nay và ngày mai trỏ chỉ được nhúngSQLvà trong kèo bóng đá hôm nay và ngày mai mô -đun.PostgreSQLcho phép kèo bóng đá hôm nay và ngày mai trỏ được sử dụng tương tác.
kèo bóng đá hôm nay và ngày mai trỏ nhị phân làPostgreSQLphần mở rộng.