ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

存储过程中游标的使用

2021-09-14 22:04:58  阅读:158  来源: 互联网

标签:STATUS 存储 LisCursor Name PID 游标 中游 标的 FETCH


1. 声明游标

声明一个游标,使游标指针的位置指向该表的首行(在这里首先可以理解为 指向表头)
DECLARE LisCursor CURSOR for select ID, isnull(ltrim(rtrim(PID)),''), ltrim(rtrim(Name)), isnull(rtrim(ltrim(Age)),'') from HisServer

2.打开游标

OPEN LisCursor

3.使用游标的同时给变量赋值

FETCH NEXT FROM LisCursor 这段代码表示游标已经向下移动了一个位置,该段代码通常与 WHILE @@FETCH_STATUS = 0 配合着一块使用
FETCH NEXT FROM LisCursor into @ID, @PID , @Name , @Age
image

4.获取游标指针位置

@@FETCH_STATUS 值的改变是通过fetch next from实现的 “FETCH NEXT FROM Cursor”为0的时候,表示游标指针指向的那一条记录是有数据的,然后游标就会将查询到的数据直接存入游标捕捉数据的变量中。
WHILE @@FETCH_STATUS=0
作用:Sql中的游标指针的位置判断。代表游标读取下一条数据是否成功!FETCH_STATUS状态有三种:
0, FETCH 语句成功   
-1, FETCH 语句失败或此行不在结果集中   
-2, 被提取的行不存在  
WHILE @@FETCH_STATUS = 0

5.遍历游标

只要游标遍历的表中有结果就会一起遍历下去,直到@@FETCH_STATUS 不为0时,退出循环
WHILE @@FETCH_STATUS = 0 BEGIN insert into HISInterface (ID,PID,Name,Age) values(@ID, @PID , @Name , @Age) FETCH NEXT FROM LisCursor into @ID, @PID , @Name , @Age END

6.关闭游标

CLOSE LisCursor

7.释放游标

DEALLOCATE LisCursor

标签:STATUS,存储,LisCursor,Name,PID,游标,中游,标的,FETCH
来源: https://www.cnblogs.com/cbt-home/p/15269736.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有