SET ROWCOUNT (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Menyebabkan SQL Server berhenti memproses kueri setelah jumlah baris yang ditentukan dikembalikan.
Sintaks
SET ROWCOUNT { number | @number_var }
Argumen
number | @number_var
Adalah angka, bilangan bulat, baris yang akan diproses sebelum menghentikan kueri tertentu.
Keterangan
Penting
Menggunakan SET ROWCOUNT tidak akan memengaruhi pernyataan DELETE, INSERT, dan UPDATE dalam rilis SQL Server di masa mendatang. Hindari menggunakan SET ROWCOUNT dengan pernyataan DELETE, INSERT, dan UPDATE dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakannya. Untuk perilaku serupa, gunakan sintaks TOP. Untuk informasi selengkapnya, lihat TOP (Transact-SQL).
Untuk menonaktifkan opsi ini sehingga semua baris dikembalikan, tentukan SET ROWCOUNT 0.
Mengatur opsi SET ROWCOUNT menyebabkan sebagian besar pernyataan Transact-SQL berhenti memproses ketika mereka telah dipengaruhi oleh jumlah baris yang ditentukan. Ini termasuk pemicu. Opsi ROWCOUNT tidak memengaruhi kursor dinamis, tetapi membatasi kumpulan baris set kunci dan kursor yang tidak sensitif. Opsi ini harus digunakan dengan hati-hati.
SET ROWCOUNT mengambil alih kata kunci TOP pernyataan SELECT jika rowcount adalah nilai yang lebih kecil.
Pengaturan SET ROWCOUNT diatur pada waktu eksekusi atau run time dan bukan pada waktu penguraian.
Izin
Memerlukan keanggotaan dalam peran publik.
Contoh
SET ROWCOUNT berhenti memproses setelah jumlah baris yang ditentukan. Dalam contoh berikut, perhatikan bahwa lebih dari 500 baris memenuhi kriteria kurang dari Quantity
300
. Namun, setelah menerapkan SET ROWCOUNT, Anda dapat melihat bahwa tidak semua baris dikembalikan.
USE AdventureWorks2022;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
Berikut set hasilnya.
Count
-----------
537
(1 row(s) affected)
Sekarang, atur ROWCOUNT
ke 4
dan kembalikan semua baris untuk menunjukkan bahwa hanya 4 baris yang dikembalikan.
SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
-- (4 row(s) affected)
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
SET ROWCOUNT berhenti memproses setelah jumlah baris yang ditentukan. Dalam contoh berikut, perhatikan bahwa lebih dari 20 baris memenuhi kriteria AccountType = 'Assets'
. Namun, setelah menerapkan SET ROWCOUNT, Anda dapat melihat bahwa tidak semua baris dikembalikan.
-- Uses AdventureWorks
SET ROWCOUNT 5;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';
Untuk mengembalikan semua baris, atur ROWCOUNT ke 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';