SQL中游标与临时表的使用,及执行速度对比

一、游标的使用

有为博主链接中写的很详细,通俗易懂;
SQL – 游标(详细)

–下面整理了使用游标进行一个while循环,用于遍历数据

方便复制:

USE [数据库名]
GO

DECLARE @serviceName NVARCHAR(256) --定义变量
DECLARE @traceKey BIGINT --定义变量

– 1.定义游标cur,并准备从表T_TRACE中读取TraceKey, ServiceName字段
DECLARE cur CURSOR FOR SELECT TraceKey,ServiceName FROM T_TRACE WHERE UptrillionApiResourceKey = -1;

OPEN cur --2.打开游标

FETCH NEXT FROM cur INTO @traceKey,@serviceName --3.开始(1)中的读取(单行)
WHILE @@FETCH_STATUS = 0 --边界条件 = 0 表示读取成功
BEGIN

–添加要执行的操作内容
FETCH NEXT FROM cur INTO @traceKey, @serviceName --读取下一条数据 --> 数据库会自动更新While循环条件 @@FETCH_STATUS
END

CLOSE cur --4.关闭游标

DEALLOCATE cur --5.销毁游标

(代码同上)

USE [数据库名]
GO

DECLARE @serviceName NVARCHAR(256) --定义变量,用于数据更新的字段1
DECLARE @traceKey BIGINT --定义变量,用于数据更新的字段2

-- 1.定义游标cur,并准备从表T_TRACE中读取TraceKey, ServiceName字段
DECLARE cur CURSOR FOR SELECT
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值