使用 SCROLL 关键字创建滚动游标,它可以任何顺序取活动集合的行。
数据库服务器将游标的活动集合保留为一个临时表,直到关闭游标。您可以取得活动集合的第一行、最后一行或任何一个中间行,以及在不必关闭再重新打开游标的情况下重复取得一些行。(请参阅 FETCH。)
多用户系统中,在派生出活动集合的行的表中的行可能在打开游标之后有所更改,并且会在临时表中生成一个副本。如果在一个事务内使用滚动游标,那么通过将隔离级别设置为“可重复读取”或通过在事务期间以共享方式锁定整个表可以防止更改复制的行。(请参阅 SET ISOLATION 和 LOCK TABLE。)
DECLARE sc_cur SCROLL CURSOR FOR SELECT * FROM orders;
您可以将 Select 和 Function 游标创建滚动游标,但不可为 Insert 游标创建滚动游标。不可将滚动游标声明为 FOR UPDATE。