Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Denna funktion returnerar statusen för den senaste markörens FETCH-sats som utfärdades mot vilken markör som helst som för närvarande öppnats av anslutningen.
Transact-SQL syntaxkonventioner
Syntax
@@FETCH_STATUS
Returtyp
heltal
Returvärde
| Returvärde | Description |
|---|---|
| 0 | FETCH-uttalandet var framgångsrikt. |
| -1 | FETCH-satsen misslyckades eller så låg raden utanför resultatuppsättningen. |
| -2 | Den hämtade raden saknas. |
| -9 | Markören utför ingen hämtningsoperation. |
Anmärkningar
Eftersom @@FETCH_STATUS är global för alla markörer på en anslutning, använd den försiktigt. Efter att ett FETCH-uttalande har exekverats måste testet för @@FETCH_STATUS ske innan något annat FETCH-uttalande utförs mot en annan markör.
@@FETCH_STATUS är odefinierad innan några hämtningar har skett på anslutningen.
Till exempel kör en användare ett FETCH-uttalande från en markör och anropar sedan en lagrad procedur som öppnar och bearbetar resultat från en annan markör. När kontrollen återvänder från den anropade lagrade progén @@FETCH_STATUS speglar den senaste FETCH som utförts i den lagrade proceduren, inte FETCH-satsen som kördes före anropet till den lagrade proceduren.
För att hämta den senaste hämtstatusen för en specifik markör, fråga i kolumnen fetch_status i den sys.dm_exec_cursors dynamiska hanteringsfunktionen.
Examples
Detta exempel används @@FETCH_STATUS för att styra marköraktiviteter i en WHILE loop.
DECLARE Employee_Cursor CURSOR FOR
SELECT BusinessEntityID, JobTitle
FROM AdventureWorks2022.HumanResources.Employee;
OPEN Employee_Cursor;
FETCH NEXT FROM Employee_Cursor;
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM Employee_Cursor;
END;
CLOSE Employee_Cursor;
DEALLOCATE Employee_Cursor;
GO