当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:22:00  来源:本站整理

SQL Server数据库技术(82)[MSSQL防范]

赞助商链接



  本文“SQL Server数据库技术(82)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
  以上是“SQL Server数据库技术(82)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • sqlserver索引的原理及索引成立的注意事项小结
  • SQL Join的一些总结(实例)
  • SQL的Join利用图解教程
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • 13.5.1 关闭游标
    ????1、利用CLOSE 号令关闭游标
    ?????在处理完游标中数据之后必须关闭游标来释放数据后果集和定位于数据记录上的锁.CLOSE 语句关闭游标,但不释放游标占用的数据构造.假如预备在随后的利用中再次翻开游标,则应利用CLOSE 号令.其关闭游标的语法法则为:
    ?CLOSE { { [GLOBAL] cursor_name } | cursor_variable_name }
    ????2、自动关闭游标
    ????我们已经理解到游标可利用在存储历程、触发器和Transact_SQL 脚本中.假如在声明游标与释放游标之间利用了事件构造,则在完毕事件时游标会自动关闭.其具体的情形以下所示:
    (1)、声明一个游标
    (2)、翻开游标
    (3)、读取游标
    (4)、BEGIN TRANSATION
    (5)、数据处理
    (6)、COMMIT TRANSATION
    (7)、回到步骤3
    ????在这样的利用环境中.当从游标中读取一条数据记录举行以BEGIN TRANSATION为开首,COMMIT TRANSATION 或ROLLBACK 为完毕的事件处理时,在程序开始运行后,第一行数据可以被精确返回,经过步骤7, 程序回到步骤3, 读取游标的下一行,此经常会发现游标未翻开的错误信息.其缘由就在于当一个事件完毕时,不管其是以COMMIT TRANSATION 还是以ROLLBACK TRANSATION 完毕,MS sql server 城市自动关闭游标,所以当持续从游标中读取数据时就会造成错误.
    ????办理这种错误的办法就是利用SET 号令将CURSOR_CLOSE_ON_COMMIT 这一参数设置为OFF 状况.其目的就是让游标在事件完毕时仍持续保持翻开状况,而不会被关闭.利用SET 号令的格局为:
    ?SET CURSOR_CLOSE_ON_COMMIT OFF

    13.5.2 释放游标
    ????在利用游标时,各种针对游标的操作大概引用游标名,大概引用指向游标的游标变量.当CLOSE 号令关闭游标时,并没有释放游标占用的数据构造.因此常利用DEALLOCATE 号令.通过该号令可以删撤除游标与游标名或游标变量之间的接洽,并且释放游标占用的全部系统资源.其语法法则为:
    ????DEALLOCATE { { [GLOBAL] cursor_name } | @cursor_variable_name}
    ????各参数的含义参看13.3 翻开游标一节.
    ????当利用DEALLOCATE @cursor_variable_name 来删除游标时,游标变量并不会被释放,除非超越利用该游标的存储历程、触发器的范围(即游标的作用域).

    13.5.3 游标变量
    ????游标变量是从MS SQL SERVER 7 版本才开始利用的一种新增数据范例.定义一个游标变量主要有两种办法.
    ????首先我们先声明一个游标.
    SQL Server数据库技术(82)
    SQL Server数据库技术(82)
    ????利用SET 语句将一游标赋值给游标变量:
    SQL Server数据库技术(82)
    ????将声明游标语句放在游标赋值语句中,以下所示:
    SQL Server数据库技术(82)
    ????例13-5: 下面给出一个具体完好的例子,在该例子中我们对DEALLOCATE 号令将有越发清楚的理解.
    SQL Server数据库技术(82)
    SQL Server数据库技术(82)
    ?
    ?
    本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .