Bạn sẽ phải làm điều này như một truy vấn riêng biệt, ví dụ:
SELECT COUNT(1) FROM table_name
Một số trình điều khiển JDBC có thể nói với bạn nhưng đây là hành vi không bắt buộc và, nhiều đến mức, người lái xe có thể không biết chưa. Điều này có thể là do cách truy vấn được tối ưu hóa, ví dụ như hai chiến lược thực hiện ví dụ trong Oracle là lấy tất cả các hàng càng nhanh càng tốt hoặc để có được hàng đầu tiên càng nhanh càng tốt.
Nếu bạn thực hiện hai truy vấn riêng biệt (một truy vấn và một truy vấn khác) thì bạn sẽ cần phải thực hiện chúng trong cùng một giao dịch. Điều này sẽ làm việc tốt trên Oracle nhưng có thể có vấn đề trên các cơ sở dữ liệu khác (ví dụ SQL Server sẽ hiển thị cho bạn dữ liệu không được cam kết hoặc chặn trên một bản cập nhật không được cam kết bên ngoài tùy thuộc vào mức cô lập của bạn trong khi Oracle hỗ trợ một mức cô lập mang lại cho bạn một giao diện nhất quán về giao dịch dữ liệu mà không bị chặn trên các cập nhật bên ngoài).
Thông thường mặc dù nó không thực sự quan trọng có bao nhiêu hàng. Thông thường, loại truy vấn này là một trong hai lô được xử lý hoặc phân trang và theo cách bạn có thông tin tiến trình ở dạng hàng được tải/xử lý và bạn có thể phát hiện kết thúc của tập kết quả (hiển nhiên).
Tốt câu trả lời, mặc dù tôi không hiểu bình luận chính thức về việc có thông tin tiến bộ. Cái này đến từ đâu? – Aktau
Điều này yêu cầu một truy vấn khác. Nếu bạn có một kết quả có thể cuộn được thì có các tùy chọn tốt hơn trong các câu trả lời khác. – JDuarteDJ