简述游标的使用

游标的使用可以简单归类为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循环,临时表,表变量,自建函数仍不能实现的时候,使用游标实现。




  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值