仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 818|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之SQL 游标

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:23:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有了数据以后,我们就要想一个比较统一的方法来闪回。上面我们说了对于DML操作,可以通过反向执行所有逆操作来实现,对于语句里面的DDL,只能直接跳过。原因是一个DDL不一定有直接的逆操作。游标游标的范例:
1、静态游标(不检测数据行的变更)
2、静态游标(反应一切数据行的改动)
3、仅向前游标(不撑持转动)
4、键集游标(能反应修正,但不克不及正确反应拔出、删除)游标利用按次:
1、界说游标
2、翻开游标
3、利用游标
4、封闭游标
5、开释游标
Transact-SQL:
declare游标名cursor[LOCAL|GLOBAL][FORWARD_ONLY|SCROLL][STATIC|KEYSET|DYNAMIC][READ_ONLY|SCROLL_LOCKS]
forselet语句[forupdate[of列名[,列名]]
注:LOCAL部分游标GLOBAL全局游标
FORWARD_ONLY仅向前SCROLL转动
STATIC静态KEYSET键集DYNAMIC静态
READ_ONLY只读SCROLL_LOCKS锁定游标以后行

猎取游标的数据
FETCH[[NEXT|PRIOR|FIRST|LAST|
ABSOLUTE{n|@nvar|RELATIVE{n|@nvar}]
From]游标名[into变量]
注:
NEXT下一行PRIOR上一行FIRST第一行
LAST最初一行ABSOLUTEn第n行
RELATIVEn以后地位入手下手的第n行
into变量把以后行的各字段值赋值给变量
游标形态变量:
@@fetch_status游标形态
0乐成-1失利-2丧失
@@cursor_rows游标中了局会合的行数
n行数-1游标是静态的0空集游标
操纵游标确当前行:
currentof游标名
以下例子,在SQLSERVER2000测试乐成
usepubs
go

declare@auidchar(12),@aulnamevarchar(20),@aufnamevarchar(20),@stchar(2),@auinfovarchar(50)
declareauth_curcursorfor
selectau_id,au_lname,au_fname,state
fromauthors

openauth_cur


fetchnextfromauth_curinto@auid,@aulname,@aufname,@st
while(@@fetch_status=0)
begin
print作者编号:+@auid
print作者姓名:+@aulname+,+@aufname
print地点州:+@st
print--------------------------
fetchnextfromauth_curinto@auid,@aulname,@aufname,@st
end


closeauth_cur
deallocateauth_cur既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
变相怪杰 该用户已被删除
沙发
发表于 2015-1-19 10:09:06 | 只看该作者
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
山那边是海 该用户已被删除
板凳
发表于 2015-1-27 06:25:08 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
老尸 该用户已被删除
地板
发表于 2015-2-5 03:51:55 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
小妖女 该用户已被删除
5#
发表于 2015-2-11 03:55:27 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
第二个灵魂 该用户已被删除
6#
发表于 2015-3-1 21:01:23 | 只看该作者
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
若天明 该用户已被删除
7#
发表于 2015-3-10 23:54:49 | 只看该作者
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-17 16:11:56 | 只看该作者
所以你总能得到相应的升级版本,来满足你的需求。
谁可相欹 该用户已被删除
9#
发表于 2015-3-24 12:22:20 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 22:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表