Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Visszaadja az utolsó mondathoz tartozó sorok számát. Ha a sorok száma több mint 2 milliárd, használd ROWCOUNT_BIG.
Transact-SQL szintaxis konvenciók
Szemantika
@@ROWCOUNT
Visszatérési típusok
int
Megjegyzések
Transact-SQL állítások az alábbi módokon állíthatják be az értéket:@@ROWCOUNT
- Állítsd
@@ROWCOUNTbe az érintett vagy olvasott sorok számát. A sorokat lehet, hogy elküldik az ügyfélnek, vagy sem. - A korábbi kijelentés végrehajtása marad
@@ROWCOUNT. - Nullára állítsd
@@ROWCOUNTvissza, de ne add vissza az értéket a kliensnek.
Azok az állítások, amelyek egyszerű hozzárendelést tesznek, mindig az @@ROWCOUNT értéket .1 Nem küldenek sorokat az ügyfélnek. Ilyen állítások példái: SET @local_variable, RETURN, READTEXT, és select lekérdezési utasítások nélkül, mint SELECT GETDATE() például vagy SELECT '<Generic Text>'.
Azok az utasítások, amelyek lekérdezésben hozzárendelést tesznek vagy lekérdezésben használnak RETURN , az @@ROWCOUNT értéket a lekérdezés által érintett vagy olvasott sor számára állítják be, például: SELECT @local_variable = c1 FROM t1.
Az adatkezelő nyelv (DML) utasításai beállítják az @@ROWCOUNT értéket a lekérdezés által érintett sorok számára, és visszaadják az értéket a kliensnek. A DML kimutatások nem feltétlenül küldenek sorokat az ügyfélnek.
DECLARE CURSORés FETCH állítsuk be az @@ROWCOUNT értéket .1
EXECUTE Állítások megőrzik az előző @@ROWCOUNT.
Olyan állítások, mint USE, SET <option>, DEALLOCATE CURSOR, CLOSE CURSOR, PRINTRAISERRORBEGIN TRANSACTION, , vagy COMMIT TRANSACTION az ROWCOUNT értéket állítsák vissza .0
A natívan lefordított tárolt eljárások megőrzik az előző @@ROWCOUNT. Transact-SQL utasítások a natívan fordított tárolt eljárásokon belül nem állítanak @@ROWCOUNTbe . További információ: Natívan lefordított tárolt eljárások.
Példák
A következő példa egy UPDATE utasítást hajt végre, és azt használja @@ROWCOUNT annak felismerésére, hogy változott-e valamelyik sor.
USE AdventureWorks2022;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO