使用游标更改数据

ADO、OLE DB 和 ODBC 应用程序接口 (API) 支持对结果集内应用程序所处的当前行进行更新。其基本过程如下:

  1. 将结果集的各列绑定到程序变量上。

  2. 执行查询。

  3. 执行 API 函数或方法,将应用程序定位在结果集的某一行上。

  4. 使用要更新的列的新数据值填充绑定的程序变量。

  5. 执行以下函数或方法之一插入行:
    • 在 ADO 中,调用 Recordset 对象的 Update 方法。

    • 在 OLE DB 中,调用 IRowsetChange 接口的 SetData 方法。

    • 在 ODBC 中,调用带 SQL_UPDATE 选项的 SQLSetPos 函数。

使用 Transact-SQL 服务器游标时,可以使用包含 WHERE CURRENT OF 子句的 UPDATE 语句更新当前行。使用此子句所做的更改只影响游标所在行。如果游标基于某个联接,则只修改 UPDATE 语句中指定的 table_name。而不影响其它参与该游标的表。

USE Northwind
GO
DECLARE abc CURSOR FOR
SELECT CompanyName FROM Shippers

OPEN abc
GO

FETCH NEXT FROM abc
GO

UPDATE Shippers SET CompanyName = N'Speedy Express, Inc.' WHERE CURRENT OF abc
GO

CLOSE abc
DEALLOCATE abc
GO
posted @ 2013-03-21 17:43  宋佳莉  阅读(1156)  评论(0编辑  收藏  举报