Let start by creating a simple cursor that will loop through each row in the employee table.
There are 15 rows in the employee table and so this won’t illustrate the performance issues that cursors can suffer but if the table contained The above code creates two variables @Emp Id and @Emp Name that will hold the id and name from the employee table respectively.
To declare a cursor we use the DECLARE keyword followed by the cursor’s name and the FOR keyword.
Next, we declare the SELECT statement that will select the records that the cursor will process row-by-row.
In the above script, we used a WHILE loop to iterate through all the records in Emp Cursor until @@FETCH_STATUS returns 0.
When there are no more rows left, the @@FETCH_STATUS returns a non-zero value and the loop will exit.
The new salaries are shown in the following table: As explained earlier, cursors are extremely slow and should be replaced with JOINs whenever possible.