简述游标的使用

时间:2021-07-03 22:56:18

游标的使用可以简单归类为5个步骤:

1.定义游标

2.打开游标

3.使用游标

4.关闭游标

5.释放游标


如下是游标简单实用的示例:

--1.定义游标
DECLARE test_Cursor CURSOR FOR
SELECT ID,NAME FROM TEST
--2.打开游标
OPEN test_Cursor
--3.使用游标
DECLARE @ID INT,@NAME VARCHAR
FETCH NEXT FROM test_Cursor INTO @ID,@NAME
WHILE @@FETCH_STATUS=0
BEGIN
PRINT @ID print @Name
FETCH NEXT FROM test_Cursor INTO @ID,@NAME
END
--4.关闭游标
CLOSE test_Cursor
--5.释放游标
DEALLOCATE test_Cursor

遍历TEST表的每一行,输出每行的ID 和 NAME。


应用场景:

需要循环从一张表里取值并判断作相应的处理,有时候也可以使用临时表结合while循环来替代游标操作,实践证明,游标的操作更快。


总结:

游标是邪恶的,游标是每循环一次返回一条结果集,而SELECT查询是返回全部的结果集。之前看有网友举了一个形象生动的例子,游标就好比你去ATM机取1000块钱,你每次取100,分10次取出来。所以能不使用游标尽量不要使用游标,在我们穷尽了子查询,while循环,临时表,表变量,自建函数仍不能实现的时候,使用游标实现。