Bagikan melalui


@@ROWCOUNT (T-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Mengembalikan jumlah baris yang dipengaruhi oleh pernyataan terakhir. Jika jumlah baris lebih dari 2 miliar, gunakan ROWCOUNT_BIG.

Konvensi sintaks transact-SQL

Sintaks

@@ROWCOUNT

Jenis yang dikembalikan

int

Keterangan

Pernyataan Transact-SQL dapat mengatur nilai dengan @@ROWCOUNT cara berikut:

  • Atur @@ROWCOUNT ke jumlah baris yang terpengaruh atau dibaca. Baris mungkin atau mungkin tidak dikirim ke klien.
  • Pertahankan @@ROWCOUNT dari eksekusi pernyataan sebelumnya.
  • Reset @@ROWCOUNT ke 0 tetapi jangan kembalikan nilainya ke klien.

Pernyataan yang membuat penugasan sederhana selalu mengatur nilai ke @@ROWCOUNT 1. Tidak ada baris yang dikirim ke klien. Contoh pernyataan ini adalah: SET @local_variable, , RETURNREADTEXT, dan pilih tanpa pernyataan kueri seperti SELECT GETDATE() atau SELECT '<Generic Text>'.

Pernyataan yang membuat penugasan dalam kueri atau digunakan RETURN dalam kueri mengatur @@ROWCOUNT nilai ke jumlah baris yang terpengaruh atau dibaca oleh kueri, misalnya: SELECT @local_variable = c1 FROM t1.

Pernyataan bahasa manipulasi data (DML) mengatur @@ROWCOUNT nilai ke jumlah baris yang terpengaruh oleh kueri dan mengembalikan nilai tersebut ke klien. Pernyataan DML mungkin tidak mengirim baris apa pun ke klien.

DECLARE CURSORdan FETCH atur nilai ke 1@@ROWCOUNT .

EXECUTE pernyataan mempertahankan yang sebelumnya @@ROWCOUNT.

Pernyataan seperti USE, , SET <option>, CLOSE CURSORDEALLOCATE CURSOR, PRINT, , RAISERROR, BEGIN TRANSACTION, atau COMMIT TRANSACTION reset ROWCOUNT nilai ke 0.

Prosedur tersimpan yang dikompilasi secara asli mempertahankan sebelumnya @@ROWCOUNT. Pernyataan Transact-SQL di dalam prosedur tersimpan yang dikompilasi secara asli tidak mengatur @@ROWCOUNT. Untuk informasi selengkapnya, lihat Prosedur Tersimpan yang Dikompilasi Secara Asli.

Contoh

Contoh berikut menjalankan UPDATE pernyataan dan menggunakan @@ROWCOUNT untuk mendeteksi apakah ada baris yang diubah.

USE AdventureWorks2022;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO