排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256
50010702506256
欢迎加群交流技术
分类:
SQL
前言
什么是游标?
游标类似于一个指针,游标就是把数据结果放到内存中,然后游标指向这个内存地址
作用:
可以让我们一行一行的去处理数据
可以把游标理解成数据库中的SqlDataReader
使用游标的步骤:
1:创建游标 declare 游标名字 cursor for sql语句
2:打开游标 open 游标名字
3:查询游标(可以是遍历) fetch next from 游标名称 into 接收的变量(可以是多个,赋值与顺序有关)
4:关闭游标 close 游标名字
5:删除游标 deallocate 游标名字
游标分为动态游标和静态游标
动态游标:主表数据变了, 游标数据会跟着变
静态游标:主表数据变了, 游标数据不会跟着变
创建一个游标
--数据部分
create table gongzi
(
id int primary key identity (1001,1),
sname varchar (20),
money int
)
insert gongzi values('张三',3000)
insert gongzi values('李四',3000)
insert gongzi values('王五',3000)
insert gongzi values('赵六',3000)
insert gongzi values('张伟',3000)
--创建游标
declare mycursor cursor
for select * from gongzi
--打开游标
open mycursor
--一行一行的读取
--fetch next from mycursor
--循环读取完数据表中的数据
declare @num int = 0
while(@num<5)
begin
select @num = @num+1
fetch next from mycursor
end
--关闭游标
close mycursor
--删除游标
deallocate mycursor游标查询结果

into 与数据库类型转换
sql类型转换
CAST(sql变量 as 转换过后的类型)
--创建游标 declare mycursor cursor for select money,sname from gongzi --打开游标 open mycursor declare @name varchar(20),@money int declare @num int = 0 while(@num<5) begin select @num = @num+1 fetch next from mycursor into @money,@name print(@name+cast(@money AS varchar(20))) end --关闭游标 close mycursor --删除游标 deallocate mycursor
运行结果
评价