> For the complete documentation index, see [llms.txt](https://vikram-bajaj.gitbook.io/cs-gy-6083-principles-of-database-systems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vikram-bajaj.gitbook.io/cs-gy-6083-principles-of-database-systems/sql/advanced-sql/cursors.md).

# Cursors

A cursor is used to refer to an output row i.e. it is a pointer to a row in the results set.

We can update tuples fetched by the cursor by declaring that the cursor is for update:

```
DECLARE c CURSOR FOR SELECT * FROM instructor WHERE dept_name = ‘Music’ FOR UPDATE;

UPDATE instructor
SET salary = salary + 100
WHERE CURRENT OF c
```

The UPDATE command shown above will update the tuple at the current location of the cursor c.
