Deleting Rows in Result Sets

Accessing and Changing Relational Data

Accessing and Changing Relational Data

Deleting Rows in Result Sets

The ADO, OLE DB, and ODBC application programming interfaces (APIs) support deleting the current row on which an application is positioned in a result set. The application executes a statement, and then fetches rows from the result set. After an application has fetched the row, it can use the following functions or methods to delete the row:

  • ADO applications use the Delete method of the Recordset object.

  • OLE DB applications use the DeleteRows method of the IRowsetChange interface.

  • ODBC applications use the SQLSetPos function with the SQL_DELETE option.

  • DB-library applications use dbcursor to perform a CRS_DELETE operation.

Transact-SQL scripts, stored procedures, and triggers can use the WHERE CURRENT OF clause on a DELETE statement to delete the cursor row on which they are currently positioned, for example:

DECLARE abc CURSOR FOR
  SELECT * FROM MyTable

OPEN abc

FETCH NEXT FROM abc

DELETE MyTable WHERE CURRENT OF abc

CLOSE abc

DEALLOCATE abc