Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Tato funkce vrací stav posledního příkazu kurzoru FETCH vydaného vůči jakémukoli kurzoru právě otevřenému spojením.
Syntaxe
@@FETCH_STATUS
Návratový typ
integer
Návratová hodnota
| Návratová hodnota | Description |
|---|---|
| 0 | Příkaz FETCH byl úspěšný. |
| -1 | Příkaz FETCH selhal nebo byl řádek za sadou výsledků. |
| -2 | Chybí požadovaná řada. |
| -9 | Kurzor neprovádí operaci načítaní. |
Poznámky
Protože @@FETCH_STATUS je globální pro všechny kurzory na spojení, používejte ho opatrně. Po vykonání příkazu FETCH musí test pro @@FETCH_STATUS proběhnout před tím, než se jakýkoli jiný příkaz FETCH spustí proti jinému kurzoru.
@@FETCH_STATUS není definována dříve, než na spojení proběhnou jakékoliv fetche.
Například uživatel vykoná příkaz FETCH z jednoho kurzoru a poté zavolá uloženou proceduru, která se otevře a zpracuje výsledky z jiného kurzoru. Když řízení vrátí z volané uložené procedury, @@FETCH_STATUS odráží poslední FETCH provedený uvnitř této uložené procedury, nikoli příkaz FETCH vykonaný před voláním uložené procedury.
Pro získání posledního stavu načtení konkrétního kurzoru se dotazujte na sloupec fetch_status funkce dynamické správy sys.dm_exec_cursors .
Examples
Tento příklad slouží k @@FETCH_STATUS ovládání aktivit kurzoru v cyklu WHILE .
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