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(游标)的更多相关文章

  1. SQL Cursor 游标的使用

    DECLARE @name VARCHAR(50)  --声明游标 DECLARE cursor_VAA1 CURSOR FOR SELECT VAA05 FROM VAA1 --打开游标 OPEN ...

  2. PL/SQL 04 游标 cursor

    --游标 declare  cursor 游标名字  is  查询语句;begin  其他语句;end; --游标的属性%FOUND%NOTFOUND%ISOPEN%ROWCOUNT(当前游标的指针位 ...

  3. PL/SQL使用游标CURSOR

    一.使用游标 对于DML语句和单行select into ,oracle自动分配隐形游标.处理select返回多行语句,可以使用显式游标. 使用显示游标处理多行数据,也可使用SELECT..BULK ...

  4. sql的游标用法举例(Cursor)

    sql的游标用法举例 ), ) Declare authors_cursor Cursor For Select Name,TrueName From Account Open authors_cur ...

  5. SQL Server 游标运用:鼠标轨迹字符串分割

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 游标模板(Cursor Template) 鼠标轨迹字符串分割SQL脚本实现(SQL Code ...

  6. PL/SQL之--游标

    一.游标简介 在PL/SQL中执行SELECT.INSERT.DELETE和UPDATE语句时,ORACLE会在内存中为其分配上下文区(Context Area),也称为缓冲区.游标是指向该区的一个指 ...

  7. 【PLSQL】变量声明,结构语句,cursor游标

    ************************************************************************   ****原文:blog.csdn.net/clar ...

  8. sql server 游标的简单用法

    sql server游标: --定义游标 declare cursor1 cursor for select ID,Name from A --打开游标 open cursor1 declare @i ...

  9. Oracle_PL/SQL(3) 游标

    引言:PLSQL数据类型标量数据类型:数字类.字符类.日期类.布尔类(boolean).复合数据类型:记录(%rowtype).表.数组引用类型:REF CURSORLOB类型:BLOB.CLOB 1 ...

随机推荐

  1. PL/SQL基础

    打印  hi set serveroutput on   --打开输出开关 declare           --说明部分(变量说明,光标申明或者例外说明) begin           --程序 ...

  2. bootstrap折叠修改hover

    $('div.panel-collapse').on('shown.bs.collapse hidden.bs.collapse', function() { $(this).dequeue('col ...

  3. TreeMap 排序

    一.TreeMap TreeMap 默认排序规则:按照key的字典顺序来排序(升序) 当然,也可以自定义排序规则:要实现Comparator接口. 用法简单,先看下下面的demo public cla ...

  4. linq to sql 博客集锦

    Linq to sql  比较全面的学习博客 http://www.cnblogs.com/aehyok/tag/Linq%20To%20Sql/ 使用LINQ TO SQL基于Respository ...

  5. UML建模系列文章总结

    本文转载:http://www.cnblogs.com/ywqu/tag/UML建模/ 本人总结: UML类图按照关系分为三大类:继承关系.拥有关系.整体与部分的关系. 继承关系:泛化.实现 拥有关系 ...

  6. android101 获取、备份、插入短信

    package com.itheima.getsms; import java.io.File; import java.io.FileNotFoundException; import java.i ...

  7. 进程控制之waitid函数

    Single UNIX Specification的XSI扩展包括了另一个取进程终止状态的函数--waitid,此函数类似于waitpid,但提供了更多的灵活性. #include <sys/w ...

  8. 一个苹果证书怎么多次使用(授权Mac开发)——导出p12文件

    为什么要导出.p12文件 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中 ...

  9. Redis与Memcached对比

    Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富,有字符串.链表.集合和有序集合.支持在服务器端计算集合的并,交和补集等.还支持多 ...

  10. HTML 学习整理

    一.名词解释 一.  HTML : Hypertext Markup Language  超文本标记语言 二.  CSS : Cascading Style Sheet  层叠样式表 三.  浏览器: ...