SQL FAST_FORWARD 光标是我们最快的光标之一。此 SQL FAST_FORWARD 光标是 FORWARD_ONLY 和 READ_ONLY 的组合。这意味着 FAST_FORWARD 光标只会从第一行移到最后一行,不支持向后滚动。
在本示例中,我们使用下面显示的 Employee 表(包含 14 条记录)来创建 SQL Server 中的 FAST_FORWARD 光标。

SQL Server 中的 Fast_Forward 光标示例
在此示例中,我们将展示如何声明和打开一个 fast_forward 光标。然后,我们将使用不同的 FETCH 选项来演示支持的 fetch 选项。
-- SQL FAST_FORWARD Cursor Example
DECLARE fast_forward_employee_cursor CURSOR FAST_FORWARD
FOR SELECT * FROM [EmployeeTable]
OPEN fast_forward_employee_cursor
FETCH NEXT FROM fast_forward_employee_cursor;
以下语句将为 Employee 表中的所有记录声明名为 fast_forward_employee_cursor 的 fast_forward 光标。
DECLARE fast_forward_employee_cursor CURSOR FAST_FORWARD
FOR SELECT * FROM [EmployeeTable]
接下来,我们使用 OPEN Cursor 语句打开已声明的光标。
OPEN fast_forward_employee_cursor
最后一条语句将从 fast_forward_employee_cursor 光标中获取或返回下一条记录。
FETCH NEXT FROM fast_forward_employee_cursor;
尽管 employee 表有 14 行,但此光标仅检索 1 条记录。这是因为 SQL Server 的 FETCH NEXT 选项每次只获取一条记录,如果您想要全部记录,请使用循环。

接下来,我们使用了 FETCH PRIOR 选项。如您所见,这会引发错误。

我将使用 FETCH LAST 选项。

我将使用 FETCH FIRST 选项。

请参阅 FORWARD_ONLY Cursor in SQL Server 文章。