排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备: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
运行结果
评价