使用資料指標變更資料
ADO、OLE DB 及 ODBC API 支援更新結果集中應用程式所在的目前資料列。下列步驟描述基本程序:
將結果集的資料行繫結 (Bind) 到程式變數。
執行查詢。
呼叫 API 函數或方法,將應用程式定位於結果集內部的某個資料列。
使用所要更新之資料行的新資料值,來填入繫結的程式變數。
呼叫下列其中一種函數或方法來插入資料列:
在 ADO 中,呼叫 Recordset 物件的 Update 方法。
在 OLE DB 中,呼叫 IrowsetChange 介面的 SetData 方法。
在 ODBC 中,呼叫帶有 SQL_UPDATE 選項的 SQLSetPos 函數。
使用 Transact-SQL 伺服器資料指標時,您可以使用包括 WHERE CURRENT OF 子句的 UPDATE 陳述式,來更新目前資料列。使用這個子句所進行的變更,只會影響到資料指標所在位置的資料列。當資料指標是以聯結為基礎時,只會修改在 UPDATE 陳述式中指定的 table_name。牽涉到資料指標的其他資料表都不會受到影響。
USE AdventureWorks2008R2;
GO
DECLARE complex_cursor CURSOR FOR
SELECT a.BusinessEntityID
FROM HumanResources.EmployeePayHistory AS a
WHERE RateChangeDate <>
(SELECT MAX(RateChangeDate)
FROM HumanResources.EmployeePayHistory AS b
WHERE a.BusinessEntityID = b.BusinessEntityID) ;
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
如需聯結的詳細資訊,請參閱<聯結基礎觀念>。