Zmienianie danych za pomocą kursor

Obsługa ADO i OLE DB API ODBC aktualizacji bieżącego wiersza, w którym aplikacja znajduje się zestaw wyników.W następujących krokach opisano proces podstawowe:

  1. Powiązania kolumn zestaw wyników do programu zmiennych.

  2. wykonać kwerendy.

  3. Wywołanie funkcji API i metod do umieszczania aplikacji na wiersz zestaw wyników.

  4. Wypełnij zmienne powiązania program nowych wartości danych dla każdej kolumny, które mają być aktualizowane.

  5. Połącz z jednym z tych funkcji lub metody, aby wstawić wiersz:

    • W modelu ADO, zadzwoń Aktualizacja Metoda Zestaw rekordów obiektu.

    • W OLE DB, zadzwoń SetData Metoda IRowsetChange interfejs.

    • ODBC, wywołać SQLSetPos funkcja z opcją SQL_UPDATE.

Podczas korzystania z Transact-SQL kursor serwera, można zaktualizować bieżącego wiersza przy użyciu instrukcja UPDATE, która zawiera klauzulę WHERE CURRENT OF. Zmiany wprowadzone w tej klauzula wpływu na wiersz, w którym znajduje się kursor.Kiedy kursor jest oparty na łączyć, tylko table_name określona w aktualizacji instrukcja jest modyfikowany. Nie wpływa na inne tabele uczestniczące w kursor.

USE AdventureWorks;
GO
DECLARE complex_cursor CURSOR FOR
    SELECT a.EmployeeID
    FROM HumanResources.EmployeePayHistory AS a
    WHERE RateChangeDate <> 
         (SELECT MAX(RateChangeDate)
          FROM HumanResources.EmployeePayHistory AS b
          WHERE a.EmployeeID = b.EmployeeID) ;
OPEN complex_cursor;
FETCH FROM complex_cursor;
UPDATE HumanResources.EmployeePayHistory
SET PayFrequency = 2 
WHERE CURRENT OF complex_cursor;
CLOSE complex_cursor;
DEALLOCATE complex_cursor;
GO

Aby uzyskać informacje na temat sprzężeń zobacz Join Fundamentals.