只进游标(fast_forward):只进游标不支持滚动,只支持从头到尾按顺序读取数据,对数据执行增删改操作,在提取时是可见的,但由于该游标只能进不能向后滚动,所以在行提取后对行做增删改是不可见的。 键集游标(keyset):打开键集驱动游标时,结果集的每行数据被一组唯一标识符进行标识,被标识的列做删改时,用户滚动游标...
(3). 当处理单向的只读结果集时,使用fast_forward代替forward_only。使 用fast_forward定义一个forward_only,则read_only游标具有一定的内部性能优化。 (4). 使用read_only关键字定义只读游标。这样可以防止意外的修改,并且让服务器了解游标移动时不会修改行。 (5). 小心事务处理中通过游标进行的大量行修改。根据...
DECLAREcursor_nameCURSOR[LOCAL|GLOBAL][FORWARD_ONLY|SCROLL][STATIC|KEYSET|DYNAMIC|FAST_FORWARD][READ_ONLY|SCROLL_LOCKS|OPTIMISTIC][TYPE_WARNING]FORselect_statement[FORUPDATE[OFcolumn_name[,...n]]] 参数说明: cursor_name:游标名称。 Local:作用域为局部,只在定义它的批处理,存储过程或触发器中有效。
例如,在SQL Server中,可以使用FAST_FORWARD提示来提高cursor的性能。 减少游标的生命周期:尽量减少cursor的生命周期,及时关闭和释放cursor,以减少资源消耗和锁定问题。只有在需要逐行处理数据时才使用cursor,并在完成操作后立即关闭和释放。 使用存储过程:在某些情况下,可以将cursor的操作封装在存储过程内,以提高性能和可...
FOR DECLARE CURSOR如果使用 Transact-SQL 語法未指定READ_ONLY、 OPTIMISTIC或SCROLL_LOCKS, 則預設值如下: SELECT如果語句不支援更新(許可權不足、存取不支援更新的遠端資料表等等),則資料指標為 READ_ONLY。 STATIC 和FAST_FORWARD 資料指標預設為 READ_ONLY。 DYNAMIC 和KEYSET 資料指標預設為 OPTIMISTIC...
使用AUTO_FETCH游标指定时FAST_FORWARD,行计数表示要放入提取缓冲区的行数。表示结果集中的行数。指定 scrolloptAUTO_FETCH值后,行计数将返回提取缓冲区中的行数。 bound_param 表示可选使用额外参数。 第五个参数之后的任何参数都将作为输入参数传递到语句计划。
FOR DECLARE CURSOR如果使用 Transact-SQL 语法未指定READ_ONLY,OPTIMISTIC或者SCROLL_LOCKS默认值如下所示: SELECT如果语句不支持更新(权限不足、访问不支持更新的远程表等),则游标为 READ_ONLY。 STATIC 和FAST_FORWARD 游标默认为 READ_ONLY。 DYNAMIC 和KEYSET 游标默认为 OPTIMISTIC。 游标名称只能由其他 Transact...
TYPE_FORWARD_ONLY (CONCUR_READ_ONLY) Fast Forward Forward-only, read-only cursor N/A The application has to make a single (forward) pass through the result set by using a server cursor. It behaves the same as a TYPE_SS_SERVER_CURSOR_FORWARD_ONLY cursor. Rows are retrieved from the serv...
TYPE_FORWARD_ONLY (CONCUR_READ_ONLY) Fast Forward Forward-only, read-only cursor N/A The application has to make a single (forward) pass through the result set by using a server cursor. It behaves the same as a TYPE_SS_SERVER_CURSOR_FORWARD_ONLY cursor. Rows are retrieved from the serv...
0x100000FAST_FORWARD_ACCEPTABLE Because of the possibility that the requested option isn't appropriate for the cursor defined bystatement, this parameter serves as both input and output. In such cases, SQL Server assigns an appropriate type and modifies this value. ...