sql语句游标,sqlserver游标的使用

sql语句游标,sqlserver游标的使用,详解SQL游标的用法

这篇文章主要介绍了结构化查询语言游标的用法,文中讲解非常详细,配合代码帮助大家更好的理解学习,感兴趣的朋友可以了解下

类型:

1.普通游标只有然后操作

2.滚动游标有多种操作

1.普通游标

声明@用户名varchar(20),@用户Id varchar(100)

将光标名称游标声明为-定义游标

从用户信息中选择前10个用户标识、用户名

按用户Id DESC排序

打开光标名称-打开游标

将下一个从光标名称提取到@用户Id,@用户名-抓取下一行游标数据

而@@FETCH_STATUS=0

开始

'打印'用户ID:"@ UserId "用户名:' @用户名

将下一个从光标名称提取到@用户Id,@用户名

结束

关闭光标名称-关闭游标

取消分配游标名称-释放游标

结果:

用户身份证号:知止用户名:邓鸿芝

用户身份证号:鱼雨用户名:魏雨

用户ID:玉洁用户名:李玉杰

用户ID:渊源用户名:王梦缘

用户身份证号:尤优用户名:lisi

用户ID:yiyiren用户名:任毅

用户ID:颜博用户名:王艳波

用户身份证号:徐旭用户名:陈佳绪

用户ID:香香用户名:李庆祥

用户身份证号:温温用户名:魏文文

2.滚动游标

-带卷起选项的游标

设置不指望

为-史考尔声明C滚动光标后,有了更多的游标操作(滚动游标)

从用户信息中选择前10个用户标识、用户名

按用户Id DESC排序

打开C

从C -获取最后一个最后一行的数据,并将当前行为指定行

从C -中获取绝对四从第一行开始的第四行数据,并将当前行为指定行这里的n可正可负,否往下翻,否往上翻

从C -获取相对3相对于当前行的后3行数据,并将当前行为指定行这里的n可正可负

从C -中获取相对-2相对于当前行的前2行数据,并将当前行为指定行

从C -中获取先验相对于当前行的前一行数据

首先从C -获取刚开始第一行的数据,并将当前行为指定行

从C -中获取下一个相对于当前行的后一行数据

关闭C

解除分配C

结果(可以参考第一个结果分析):

具体FETCH用法:

取得

[ [下一个|前一个|第一个|最后一个

|绝对{ n | @nvar }

| RELATIVE { n | @nvar }

]

]

{ { [全局]光标名称} | @光标变量名称}

[ INTO @variable_name [,n ] ]

Arguments

NEXT

返回紧跟在当前行之后的结果行,并将当前行递增到返回的行。如果获取下一个是对游标的第一次提取,则返回结果集中的第一行。接下来是默认的游标获取选项。

PRIOR

返回当前行之前的结果行,并将当前行递减到返回的行。如果获取优先是对游标的第一次提取,则不返回任何行,游标将位于第一行之前。

FIRST

返回光标中的第一行,并使其成为当前行。

LAST

返回光标中的最后一行,并使其成为当前行。

ABSOLUTE { n| @nvar}

如果n或@nvar为正数,则从游标前面返回n行,并将返回的行作为新的当前行。如果n或@nvar为负,则返回光标末尾前n行的行,并将返回的行作为新的当前行。如果n或@nvar为0,则不返回任何行…n。必须是整数常量,而@nvar必须是smallint、tinyint或int .

RELATIVE { n| @nvar}

如果n或@nvar为正数,则返回当前行之后n行的行,并将返回的行作为新的当前行。如果n或@nvar为负,则返回当前行之前的n行,并将返回的行作为新的当前行。如果n或@nvar为0,则返回当前行。如果在对游标进行第一次提取时指定获取相对值,并将n或@nvar设置为负数或0,则不会返回任何行…n。必须是整数常量,而@nvar必须是smallint、tinyint或int .

全球的

指定光标名称引用全局游标。

cursor_name

应该从中进行提取的打开的游标的名称。如果同时存在以光标名称为名称的全局和局部游标,则如果指定了全球,则光标名称为全局游标,如果未指定全球,则为局部游标。

@cursor_variable_name

引用应从中进行提取的打开游标的游标变量的名称。

INTO @variable_name[ ,...n]

允许将提取的列中的数据放入局部变量中。列表中的每个变量从左到右都与游标结果集中的相应列相关联。每个变量的数据类型必须匹配相应结果集列的数据类型,或者是相应结果集列的数据类型的受支持的隐式转换。变量的数量必须与光标选择列表中的列数相匹配。

以上就是详解结构化查询语言游标的用法的详细内容,更多关于结构化查询语言游标用法的资料请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用sql语句实现查询排序,顺序和倒序的区别,sql按倒序排序
  • 使用sql语句实现查询排序,顺序和倒序的区别,sql按倒序排序,使用SQL语句实现查询排序,顺序和倒序
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 一篇文章带你入门sql编程语句,一篇文章带你入门sql编程题
  • 一篇文章带你入门sql编程语句,一篇文章带你入门sql编程题,一篇文章带你入门SQL编程
  • window无法启动mysql 1067,windows无法启动mysql57服务,错误1053
  • window无法启动mysql 1067,windows无法启动mysql57服务,错误1053,windows无法启动MySQL服务报错1067的解决方法
  • vb中adodb连接数据库,,VB语言使用ADO连接、操作SQLServer数据库教程
  • sql重复记录查询的几种方法有哪些,查询重复记录sql语句
  • sql重复记录查询的几种方法有哪些,查询重复记录sql语句,SQL重复记录查询的几种方法
  • sql语句的各个关键字的解析过程详细总结怎么写,sql语句的各个关键字的解析过程详细总结图
  • sql语句的各个关键字的解析过程详细总结怎么写,sql语句的各个关键字的解析过程详细总结图,SQL语句的各个关键字的解析过程详细总结
  • sql语句游标,sqlserver游标的使用,详解SQL游标的用法
  • sql语句比较时间大小,sql 时间比较大小
  • 留言与评论(共有 条评论)
       
    验证码: