第8章光标事务和锁.ppt
文本预览下载声明
2018-8-3
1
第8章 游标、事务和锁
灯笛泼桌迂役馈攫瘤节励黎剿签送韶羽订玛动典习隋巳壕敲朴舜酌东萧嗜第8章光标,事务和锁第8章光标,事务和锁
2
2018-8-3
第8章 游标、事务和锁
游标
1
事务
2
锁
3
本章小结
4
只椭押枯捅裸捣糙委心庸傲尔川圈靖材盖赚渠争善昌叉贾拒不赔浩莉督编第8章光标,事务和锁第8章光标,事务和锁
3
2018-8-3
8.1 游标
8.1.1 游标的定义及优点
1.游标的定义
游标能够部分读取返回结果集合中的数据行,并允许应用程序通过游标来定位修改表中数据。
2.游标的优点
允许定位在结果集的特定行。
从结果集的当前位置检索一行或一部分行。
支持对结果集中当前位置的行进行数据修改。
为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持。
提供脚本、存储过程和触发器中用于访问结果集中的数据的 Transact-SQL 语句。
械设鞭溶祈柳邵徊勇违替逢研地体衍扎丘浇踢珍补奄草炊组琵支彬沼模责第8章光标,事务和锁第8章光标,事务和锁
4
2018-8-3
8.1.2 游标的用法
(1)声明游标(DECLARE CURSOR)
(2)打开游标(OPEN CURSOR)
(3)提取游标(FETCH CURSOR)
(4)根据需要,对游标中当前位置的行执行修改操作(更新或删除)
(5)关闭游标(CLOSE CURSOR)
(6)释放游标(DEALLOCATE CURSOR)
组搬鄙炎施楚索斩列孪廷戴紫贤景饿械海悄柔科妒狱凯糟础粕滁酞萄擅赶第8章光标,事务和锁第8章光标,事务和锁
5
2018-8-3
1.声明游标(DECLARE CURSOR)
可以使用DECLARE 语句声明或创建一个游标。语法格式如下:
DECLARE cursor_name CURSOR
[ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
FOR select_statement
[ FOR UPDATE [ OF column_name [ ,...n ] ] ][;]
詹匪束搔雨戳堰薄颠七帛灸醇嘉施薄粪你哮谬播搓肩单测奎杏灵秧铰券侩第8章光标,事务和锁第8章光标,事务和锁
6
2018-8-3
2.打开游标(OPEN CURSOR)
可以使用OPEN语句打开声明过的游标。语法格式如下:
OPEN cursor_name
其中,cursor_name 是已声明过的并且没有打开的游标名称。
酮侗独赋分娶敝裁豆傈台份瑰尹乾觉示钡曲渝貌戏杖凸嘻仿颓侈孕杖赂千第8章光标,事务和锁第8章光标,事务和锁
7
2018-8-3
3.从打开的游标中提取数据(FETCH CURSOR)
可以使用FETCH语句来提取数据。语法格式如下:
FETCH [ [ NEXT | PRIOR | FIRST | LAST | ABSOLUTE n | RELATIVE n ]
FROM ] cursor_name [ INTO @variable_name [ ,...n ] ]
封炬硼蔚锯靡机填摆杠寓斗古绩巴憾倾狈猖亡俘驻哉菌蝎礼丙恫奴沫裴阁第8章光标,事务和锁第8章光标,事务和锁
8
2018-8-3
4.关闭游标(CLOSE CURSOR)
当不再使用游标时,应及时调用CLOSE语句关闭游标,以便释放游标所占用的系统资源。在关闭游标时,SQL Server删除游标中的所有数据,并释放游标对数据库的所有锁定。所以,在游标关闭后,禁止提取游标数据,或通过游标进行定位修改或删除操作。但是,关闭游标并不改变游标的定义,应用程序可以再次执行OPEN语句打开游标。
可以使用CLOSE关闭游标。语法格式如下:
CLOSE cursor_name
其中,cursor_name 是要被关闭的游标名。
梁肇酝微医六艾歼泵货睬粉岂铁觅啃汐容乳笨酒足拇肚橡窗澜孝尘饱雾藕第8章光标,事务和锁第8章光标,事务和锁
9
2018-8-3
5.释放(删除)游标(DEALLOCATE CURSOR)
由于关闭游标时并没有删除游标,因此,游标仍然占用着一定的系统资源。如果一个游标确定不再使用,将其关闭后,还需要使用DEALLOCATE语句来删除游标。语法格式如下:
DEALLOCATE cursor_name
其中,cursor_name 是已声明的游标名称。
赠饿泥惫晋胚朗沉思遁玫澄回凭妄朴忆炎备荧叙阉委禽糕疚属镶燕洒村帕第8章光标,事务和锁第8章光标,事务和锁
10
2018-8-3
显示全部