数据库作业17:SQL练习9 - CURSOR

这篇博客探讨了在SQL Server中使用游标进行数据操作的实际案例。通过执行特定的T-SQL代码,读者可以了解游标的运作原理及其在处理逐行数据时的重要性。内容涉及教材中的基础概念,帮助深化对游标使用的理解。
摘要由CSDN通过智能技术生成

阅读以下代码,在SQLserver上执行。分析结果,并总结游标的使用。T-SQL中使用游标。基础概念参考教材P246,P250

IF (exists (select * from sys.objects where name = 'proc_cursor'))
    DROP PROCEDURE proc_cursor
GO
CREATE PROCEDURE proc_cursor --创建存储过程(PROCEDURE)名为proc_cursor
AS
--DECLARE声明
DECLARE @Sno char(9)--定义变量	
DECLARE @Sname char(20)--定义变量 
DECLARE mycursor CURSOR FOR select Sno,Sname from Student --声明游标(CURSOR)名为mycursor;用到Student表
 
OPEN mycursor  --打开游标
 
FETCH NEXT FROM mycursor INTO @Sno,@Sname	--FETCH取值
 
WHILE(@@FETCH_STATUS=0)  --遍历所有的数据	FETCH_STATUS取状态
BEGIN
	PRINT '游标成功取出一条数据:'
	PRINT @Sno
	PRINT @Sname
	PRINT '********************'
	FETCH NEXT FROM mycursor INTO @Sno,@Sname  --取下一条游标数据
END
 
CLOSE mycursor --关闭游标
 
DEALLOCATE mycursor --删除游标
GO
 
EXEC proc_cursor	--EXEC执行
GO

执行:
在这里插入图片描述
游标的使用

IF (exists (select * from sys.objects where name = '过程名'))
    DROP PROCEDURE 过程名
GO	--若删除,则:'CREATE/ALTER PROCEDURE' 必须是查询批次中的第一个语句。	
CREATE PROCEDURE 过程名 --创建存储过程(PROCEDURE)
AS
--DECLARE声明变量、游标(CURSOR):
DECLARE @变量名 char(9)--定义变量	
DECLARE 游标名 CURSOR FOR select...from... --声明游标
 
OPEN 游标名  --打开游标
 
FETCH NEXT FROM 游标名 INTO @变量名,@变量名,...	--FETCH取值,变量取对应(select)游标值
 
WHILE(@@FETCH_STATUS=0)  --遍历所有的数据	FETCH_STATUS取状态
BEGIN
	--PRINT输出
	PRINT @变量名	--输出变量
	PRINT '******'	--输出字符串
	FETCH NEXT FROM 游标名 INTO @变量名,@变量名,...  --取下一条游标数据
END
 
CLOSE 游标名 --关闭游标
 
DEALLOCATE 游标名 --删除游标
GO
 
EXEC 过程名	--EXEC执行
GO
DECLARE 游标名 CURSOR FOR select...from... --声明游标
 
OPEN 游标名  --打开游标
 
FETCH NEXT FROM 游标名 INTO @变量名,@变量名,...	--变量取游标值
 
CLOSE 游标名 --关闭游标
 
DEALLOCATE 游标名 --删除游标
GO 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值