@@CURSOR_ROWS (T-SQL)
Berlaku untuk: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Fungsi ini mengembalikan jumlah baris yang memenuhi syarat yang saat ini berada di kursor terakhir yang dibuka pada koneksi. Untuk meningkatkan performa, SQL Server dapat mengisi keyset besar dan kursor statis secara asinkron. @@CURSOR_ROWS
dapat dipanggil untuk menentukan bahwa jumlah baris yang memenuhi syarat untuk kursor diambil pada saat @@CURSOR_ROWS
panggilan.
Sintaks
@@CURSOR_ROWS
Jenis yang dikembalikan
int
Nilai hasil
Nilai hasil | Deskripsi |
---|---|
-m |
Kursor mengisi secara asinkron. Nilai yang dikembalikan (-m) adalah jumlah baris yang saat ini berada dalam set kunci. |
-1 |
Kursor bersifat dinamis. Karena kursor dinamis mencerminkan semua perubahan, jumlah baris yang memenuhi syarat untuk kursor terus berubah. Kursor tidak selalu mengambil semua baris yang memenuhi syarat. |
0 |
Tidak ada kursor yang terbuka, tidak ada baris yang memenuhi syarat untuk kursor terakhir yang dibuka, atau kursor yang terakhir dibuka ditutup atau dibatalkan alokasinya. |
n |
Kursor terisi penuh. Nilai yang dikembalikan (n) adalah jumlah total baris dalam kursor. |
Keterangan
@@CURSOR_ROWS
mengembalikan angka negatif jika kursor terakhir dibuka secara asinkron. Keyset-driver atau kursor statis terbuka secara asinkron jika nilai untuk sp_configure
ambang kursor melebihi 0
, dan jumlah baris dalam tataan hasil kursor melebihi ambang kursor.
Contoh
Contoh ini pertama kali mendeklarasikan kursor, lalu menggunakan SELECT
untuk menampilkan nilai @@CURSOR_ROWS
. Pengaturan memiliki nilai 0
sebelum kursor terbuka lalu memiliki nilai -1
, untuk menunjukkan bahwa set kunci kursor mengisi secara asinkron.
USE AdventureWorks2022;
GO
SELECT @@CURSOR_ROWS;
DECLARE Name_Cursor CURSOR
FOR SELECT LastName, @@CURSOR_ROWS
FROM Person.Person;
OPEN Name_Cursor;
FETCH NEXT FROM Name_Cursor;
SELECT @@CURSOR_ROWS;
CLOSE Name_Cursor;
DEALLOCATE Name_Cursor;
GO
Berikut adalah tataan hasilnya.
-----------
0
LastName (No column name) ROWSTAT
--------- ----------------- ---------
Sánchez -1 NULL
-----------
-1