Share via


刪除結果集中的資料列

ADO、OLE DB 和 ODBC API 支援刪除在結果集內應用程式所定位的目前資料列。此應用程式執行一個陳述式,再從結果集中提取資料列。應用程式提取了資料列後,即可使用下列函數或方法來刪除資料列:

  • ADO 應用程式使用 Recordset 物件中的 Delete 方法。
  • OLE DB 應用程式使用 IRowsetChange 介面的 DeleteRows 方法。
  • ODBC 應用程式使用含 SQL_DELETE 選項的 SQLSetPos 函數。
  • 資料程式庫應用程式使用 dbcursor 來執行 CRS_DELETE 作業。

Transact-SQL 指令碼、預存程序與觸發程序可以對 DELETE 陳述式使用 WHERE CURRENT OF 子句,以刪除目前所定位的資料指標資料列。下列範例使用名為 complex_cursor 的資料指標來刪除 EmployeePayHistory 資料表的單一資料列。DELETE 只會影響資料指標目前提取的單一資料列。

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;
DELETE FROM HumanResources.EmployeePayHistory
WHERE CURRENT OF complex_cursor;
CLOSE complex_cursor;
DEALLOCATE complex_cursor;
GO

請參閱

概念

使用 DELETE 刪除資料列
使用 TRUNCATE TABLE 刪除所有資料列
使用 TOP 來限制刪除的資料列

其他資源

DELETE (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助