Using Implicit Cursor Conversions
Applications can request a cursor type and then execute a Transact-SQL statement that is not supported by server cursors of the type requested.Microsoft SQL Server returns an error that indicates the cursor type has changed.Ta konwersja jest nazywany niejawna konwersja kursora, a czasami nazywane degradacja kursora.
Są to czynniki, które wyzwolić SQL Server niejawnie przekonwertować kursor z jednego typu do drugiego.
Krok |
Konwersja wyzwalane przez |
Tylko przesyłanie dalej |
Zestaw kluczy o zmiennych |
Dynamiczne |
Przejdź do kroku |
---|---|---|---|---|---|
1 |
Klauzula FROM kwerendy odwołuje się do tabel. |
Staje się statyczny. |
Staje się statyczny. |
Staje się statyczny. |
Sporządzono |
2 |
Kwerenda zawiera: Lista wyboru agregatów GROUP BY UNION DISTINCT HAVING |
Staje się statyczny. |
Staje się statyczny. |
Staje się statyczny. |
Sporządzono |
3 |
Kwerendy generuje wewnętrznego pracy tabela, na przykład kolumn ORDER BY nie są uwzględnione w indeksie. |
Staje się zestawu kluczy. |
|
Staje się zestawu kluczy. |
5 |
4 |
Kwerenda odwołuje się do zdalnego tabel połączonych serwerów. |
Staje się zestawu kluczy. |
|
Staje się zestawu kluczy. |
5 |
5 |
Query references at least one table without a unique index.Transact-SQL cursors only. |
|
Staje się statyczny. |
|
Sporządzono |
Uwaga
Kursory szybko do przodu nigdy nie są konwertowane.
Uwaga
Zestaw kluczy i dynamiczne kursory tylko są konwertowane, jeśli dowolne z tabel podstawowych nie ma indeks unikatowy, czy kwerenda nie zwraca bezpośrednio kolumny kluczy podstawowych tabel.Na przykład, jeśli kwerenda zawiera funkcje agregujące lub zestaw podmiotów gospodarczych.