排名
7
文章
192
粉丝
15
评论
16
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术

前言
什么是游标?
游标类似于一个指针,游标就是把数据结果放到内存中,然后游标指向这个内存地址
作用:
可以让我们一行一行的去处理数据
可以把游标理解成数据库中的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
运行结果
评价