SQL Cursor(游标)
1.游标在数据表没有id(identity(1,1))时好用,但是游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码量
2.如果能不用游标,尽量不要使用游标,用完用完之后一定要关闭和释放, 尽量不要在大量数据上定义游标,尽量不要使用游标上更新数据
Cursor:Global for--全局游标
Cursor:Local for--局部游标
LOCAL意味着游标的生存周期只在批处理或函数或存储过程中可见
GLOBAL意味着游标对于特定连接作为上下文,全局内有效
--第一步:声明游标
declare test_Cursor Cursor scroll for
select name from dbo.aa
open test_Cursor--打开游标
--第二遍执行
declare @name nvarchar(1000)
fetch next from test_Cursor into @name--下一行
select @name
--第三遍关闭清空游标
CLOSE test_Cursor--关闭
DEALLOCATE test_Cursor--清空
/*只有支持6种移动选项,分别为到第一行(FIRST),
最后一行(LAST),下一行(NEXT),上一行(PRIOR),
直接跳到某行(ABSOLUTE(n)),
相对于目前跳几行(RELATIVE(3))*/
通过游标循环数据
declare test_Cursor Cursor scroll for
select id,materialName from dbo.table_1 open test_Cursor
declare @c nvarchar(10)
declare @name nvarchar(1000) while @@FETCH_STATUS=0
begin
fetch next from test_Cursor into @c,@name
select @c,@name
end
--最后执行
CLOSE test_Cursor
DEALLOCATE test_Cursor
SQL Cursor(游标)的更多相关文章
- SQL Cursor 游标的使用
DECLARE @name VARCHAR(50) --声明游标 DECLARE cursor_VAA1 CURSOR FOR SELECT VAA05 FROM VAA1 --打开游标 OPEN ...
- PL/SQL 04 游标 cursor
--游标 declare cursor 游标名字 is 查询语句;begin 其他语句;end; --游标的属性%FOUND%NOTFOUND%ISOPEN%ROWCOUNT(当前游标的指针位 ...
- PL/SQL使用游标CURSOR
一.使用游标 对于DML语句和单行select into ,oracle自动分配隐形游标.处理select返回多行语句,可以使用显式游标. 使用显示游标处理多行数据,也可使用SELECT..BULK ...
- sql的游标用法举例(Cursor)
sql的游标用法举例 ), ) Declare authors_cursor Cursor For Select Name,TrueName From Account Open authors_cur ...
- SQL Server 游标运用:鼠标轨迹字符串分割
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 游标模板(Cursor Template) 鼠标轨迹字符串分割SQL脚本实现(SQL Code ...
- PL/SQL之--游标
一.游标简介 在PL/SQL中执行SELECT.INSERT.DELETE和UPDATE语句时,ORACLE会在内存中为其分配上下文区(Context Area),也称为缓冲区.游标是指向该区的一个指 ...
- 【PLSQL】变量声明,结构语句,cursor游标
************************************************************************ ****原文:blog.csdn.net/clar ...
- sql server 游标的简单用法
sql server游标: --定义游标 declare cursor1 cursor for select ID,Name from A --打开游标 open cursor1 declare @i ...
- Oracle_PL/SQL(3) 游标
引言:PLSQL数据类型标量数据类型:数字类.字符类.日期类.布尔类(boolean).复合数据类型:记录(%rowtype).表.数组引用类型:REF CURSORLOB类型:BLOB.CLOB 1 ...
随机推荐
- iOS消息推送机制的实现
研究了一下Apple Push Notification Service,实现的很简单,很环保.原理如下 财大气粗的苹果提供了一堆服务器,每个ios设备和这些服务器保持了一个长连接,ios版本更新提示 ...
- 如何查看tomcat是32位还是64位
原文地址:http://www.cnblogs.com/andysd/p/3940976.html
- Ubuntu 14.10安装SecureCRT 7.3
Ubuntu 14.10下安装SecureCRT 7.3 1.软件准备 Ubuntu14.10 x64 SecureCRT7.3的版本:scrt-7.3.0-657.ubuntu13-64.x86_6 ...
- 【05】了解C++默默编写并调用那些函数
1.如果没有声明copy构造方法,copy赋值操作符,和析构方法,编译器会自动生成这些方法,且是inline. 2.如果没有声明任何构造方法,编译器会自动生成一个default构造方法,且是inlin ...
- [React Native] Error Handling and ActivityIndicatorIOS
With React Native you use ActivityIndicatorIOS to show or hide a spinner. In this lesson we combine ...
- JAVA Web 之 struts2文件上传下载演示(二)(转)
JAVA Web 之 struts2文件上传下载演示(二) 一.文件上传演示 详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397 二.文件下载 ...
- C#数据库读取数据后转换为INT32后计算的小技巧
这有什么难的,不管是什么数据库, 首先分别读出userinfo中usermoney的值 存入s1,card中extramoney的值s2 读出字段数据你应该会吧! 再用userinfo中字段userm ...
- Media Player框架
导入MediaPlayer.framework框架. //声明一个媒体播放器 var moviePlayer:MPMoviePlayerController? @IBAction func playM ...
- Ubuntu下MySql配置
Ubuntu下MySql配置 安装MySQL 命令: sudo apt-get install mysql-server MySQL初始配置及管理 启动MySQL mysql start : mysq ...
- [置顶] linux第二天,g++,gcc,ps,cat,sort,grep,kill,less,ls -l ,
33.less sample.txt 分页输出文件内容到屏幕 34./search content (搜索内容) 可以将文档中有searchcontent 的行输出到屏幕 35.grep scienc ...