数据库系统原理与应用06.ppt
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 自定义锁超时 可以设置应用程序等待阻塞资源的最长时间。 SET LOCK_TIMEOUT out_time 自定义事务隔离级别 可以使用更严格或较宽松的隔离级别。 SET TRANSACTION ISOLATION LEVEL { READ COMMITTED | READ UNCOMMITTED | REPEATABLE READ | SERIALIZABLE } 四种级别分别是:提交读、未提交读、可重复读和可串行读。 10.3 数据的锁定 锁定提示 在使用SELECT、INSERT、UPDATE、DELETE语句时指定表级锁定提示的范围。 10.3 数据的锁定 由于SELECT语句返回所有满足WHERE子句中条件的行,而应用程序并不总能将整个结果集作为一个单元来处理,因此引入游标机制,以便每次处理一行或一部分行。 游标包括游标结果集(Cursor Result Set)和游标位置(Cursor Position)两个部分, 10.4 使用游标 一、游标的基本操作 1.声明游标 DECLARE 游标名 [INSENSITIVE] [SCROLL] [STATIC | KEYSET | DYNAMIC | FAST_FORWARD] CURSOR FOR select_statement [FOR {READ ONLY | UPDATE [OF 列名[,…n] ] } ] 其中:INSENSITIVE创建将由该游标使用的数据的临时副本,该游标不允许修改。 SCROLL指定所有的提取选项,分FIRST、LAST、PRIOR、NEXT、RELATIVE和ABSOLUTE几种。 10.4 使用游标 DECLARE 游标名 [INSENSITIVE] [SCROLL] [STATIC | KEYSET | DYNAMIC | FAST_FORWARD] CURSOR FOR select_statement [FOR {READ ONLY | UPDATE [OF 列名[,…n] ] } ] SQL Server2005支持四种游标: STATIC静态游标 按照打开时的原样显示结果集 DYNAMIC动态游标 反映结果集中所作的所有更改 FAST_FORWARD只进游标 只能从头到尾顺序提取 KEYSET键集驱动游标 打开时成员和行顺序是固定的 10.4 使用游标 DECLARE 游标名 [INSENSITIVE] [SCROLL] [STATIC | KEYSET | DYNAMIC | FAST_FORWARD] CURSOR FOR select_statement [FOR {READ ONLY | UPDATE [OF 列名[,…n] ] } ] select_statement是标准的SELECT语句 READ ONLY把游标定义为只读 UPDATE定义游标内可更新的列,如没有指定列表,则可以更新所有的列 10.4 使用游标 2.打开游标 OPEN 游标名 打开游标时服务器将执行声明时使用的SELECT语句。游标打开后,其位置位于第一行。 3.关闭游标 CLOSE 游标名 关闭游标后可以再次打开。 4.释放游标 DEALLOCATE 游标名 释放游标将释放所有分配给此游标的资源。 10.4 使用游标 5.提取行 FETCH [ [NEXT | PRIOR | FIRST | LAST | ABSOLUTE n | RELATIVE n ] FROM ] 游标名 [INTO @variable_name[,…n] ] 10.4 使用游标 返回当前行之后的结果行,且当前行递增为结果行。如是对游标第一次提取,则返回第一行。 返回当前行之前的结果行,且当前行递减为结果行。如是对游标第一次提取,则无行返回。 返回游标的第一行,并将其作为当前行。 返回游标的最后一行,并将其作为当前行。 FETCH [ [NEXT | PRIOR | FIRST | LAST | ABSOLUTE n | RELATIVE n ] FROM ] 游标名 [INTO @variable_name[,…n] ]
显示全部