SQL游标的使用与语法
2019独角兽企业重金招聘Python工程师标准>>>
以[master].[dbo].[spt_values] 这个表为例子
===
declare @name nvarchar(35)
declare @number int
declare my_cursor cursor for --定义游标cursor1
select TOP 5 [name],[number] from [spt_values] --使用游标的对象(跟据需要填入select文)
open my_cursor --打开游标
fetch next from my_cursor into @name , @number --将游标向下移1行,获取的数据放入之前定义的变量@id,@name中
while(@@fetch_status=0) --判断是否成功获取数据
begin
--update [spt_values] set [name]=@name+'1'
--where [number]=@number+1 --进行相应处理(跟据需要填入SQL文)
print @name
print @number
print '===='
fetch next from my_cursor into @name , @number --将游标向下移1行
end
close my_cursor --关闭游标
deallocate my_cursor
=====================以下是基础
blog.csdn.net/lejuo/archive/2008/11/12/3279340.aspx
可百度 SQL游标语法及举例 进行更深入学习
游标的定义:
每一个游标必须有四个组成部分这四个关键部分必须符合下面的顺序;
1.DECLARE 游标
2.OPEN 游标
3.从一个游标中FETCH 信息
4.CLOSE 或DEALLOCATE 游标
通常我们使用DECLARE 来声明一个游标声明一个游标主要包括以下主要内容:
游标名字
数据来源(表和列)
选取条件
属性(仅读或可修改)
其语法格式如下:
DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSOR
FOR select_statement
[FOR {READ ONLY | UPDATE [OF column_name [,...n]]}]
其中:
cursor_name
指游标的名字。
INSENSITIVE
表明MS SQL SERVER 会将游标定义所选取出来的数据记录存放在一临时表内(建立在tempdb 数据库下)。对该游标的读取操作皆由临时表来应答。因此,对基本表的修改并不影响游标提取的数据,即游标不会随着基本表内容的改变而改变,同时也无法通过
游标来更新基本表。如果不使用该保留字,那么对基本表的更新、删除都会反映到游标中。
另外应该指出,当遇到以下情况发生时,游标将自动设定INSENSITIVE 选项。
在SELECT 语句中使用DISTINCT、 GROUP BY、 HAVING UNION 语句;
使用OUTER JOIN;
所选取的任意表没有索引;
将实数值当作选取的列。
SCROLL
表 明所有的提取操作(如FIRST、 LAST、 PRIOR、 NEXT、 RELATIVE、 ABSOLUTE)都可用。如果不使用该保留字,那么只能进行NEXT 提取操作。由此可见,SCROLL 极大地增加了提取数据的灵活性,可以随意读取结果集中的任一行数据记录,而不必关闭再
重开游标。
select_statement
是定义结果集的SELECT 语句。应该注意的是,在游标中不能使用COMPUTE、COMPU- TE BY、 FOR BROWSE、 INTO 语句。
READ ONLY
表明不允许游标内的数据被更新尽管在缺省状态下游标是允许更新的。而且在UPDATE或DELETE 语句的WHERE CURRENT OF 子句中,不允许对该游标进行引用。
UPDATE [OF column_name[,…n]]
定义在游标中可被修改的列,如果不指出要更新的列,那么所有的列都将被更新。当游标被成功创。
转载于:https://my.oschina.net/u/225383/blog/68878
SQL游标的使用与语法相关推荐
- SQL游标(cursor)详细说明及内部循环使用示例
游标 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果.每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理. 游标是处理 ...
- SQL游标原理和使用方法(转)
SQL游标原理和使用方法 在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句.但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记 ...
- 如何创建和使用 SQL 游标
文章目录 一.游标 二.使用游标 2.1 创建游标 2.2 使用游标 2.3 关闭游标 三.小结 本文介绍什么是 SQL 游标,为什么使用游标,如何使用游标.你使用的 DBMS 可能会提供某种形式的游 ...
- PL/SQL 游标
本随笔不是原创,只是学习笔记,用于加深记忆,原创地址PL/SQL --> 游标 一.游标的相关概念和特性 1.定义: 映射到结果集中的某一行的特定位置,类似与C语言中的指针.即通过游标方式定位到 ...
- MySQL学习笔记02【SQL基本概念与通用语法、数据库的CRUD操作】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- sql游标 while_用SQL Server中的排名函数替换SQL While循环和游标,以提高查询性能
sql游标 while SQL While loop and cursor are the most common approach to repeat a statement on conditio ...
- Library Cache优化与SQL游标
点击查看全文 Dear 跟着小编一起读好书运动开始啦!咱们作为DBA不仅要外部打扮自己,更要从内部武装.近期,小编将分享冷菠老师的<Oracle高性能自动化运维>一部分精选章节分享给大家. ...
- JavaWeb学习笔记(数据库、SQL语句、数据查询语法、完整性约束、编码、备份和恢复数据、多表查询)
数据库.SQL语句.数据查询语法.完整性约束.编码.备份和恢复数据.多表查询 JavaWeb学习笔记 数据库 数据库概念 基本命令 启动和关闭mysql服务器 客户端登录退出mysql SQL语句 S ...
- oracle的游标 sql语句,sql游标
sql游标 游标的类型: 1.静态游标(不检测数据行的变化) 2.动态游标(反映所有数据行的改变) 3.仅向前游标(不支持滚动) 4.键集游标(能反映修改,但不能准确反映插入.删除) 游标使用顺序: ...
最新文章
- “含光”剑出,谁与争锋?阿里重磅发布首颗AI芯片含光800
- HDR-100-24N LRS-100-24 漏电测量
- 字节跳动测试开发4轮面试_字节跳动2018招聘测试开发方向(第四批)
- 智联招聘简历如何导出html,如何将拉勾网(智联招聘)的预览简历导出来
- 《JS高级程序设计》PART3.对象基础
- 软件开发工程师证书有用吗_bim工程师证书有用吗
- 求101-200以内的素数
- Java语言程序设计(一)简答题和论述题
- 自己动手开发编译器(二)正则语言和正则表达式
- CPT自定义按钮导出(含参)
- 以太坊上海协议之——达成Cosmos网络实现以太坊扩容协议
- 云计算的应用解决方案
- 全球地名中英文对照表(S)
- matlab振荡环节的频率特性,频率特性曲线
- 计算机辅助初中英语教学,利用多媒体优化初中英语课堂教学课题研究
- 数据运营是什么?该如何做?
- java 修改图片后缀名,不改变图片前缀名
- 台积电:3纳米芯片工厂地址首选台湾 美国次之
- 3分钟教会你用KaTeX在csdn博客中编辑数学公式
- 安卓的进化,用户的阵痛?从奥利奥与奥利粤说起