当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(86)

MSSQL
SQL Server教程:备份和恢复措施
合理建立索引-提高SQL Server的性能之法
SQL Server查询过程中 实际消耗了多大内存?
教程:SQL Server 2008 数据挖掘的概念
在SQL Server中生成脚本的方法
如何提高SQL Server复制的向后兼容性
为SQL Server 2008添加报表服务的虚拟目录
在SQL Server中创建全局临时表
SQL Server触发器的使用方法
如何通过调整Windows参数提高数据库服务器性能
详解SQL Server 2005 FOR XML嵌套查询的使用
初识Sybase数据库
浅谈SQL Server Compact的DLL文件
丢失的数据忘记备份怎么办?
SQLServer数据库中如何保持数据一致性
教你解决SQLServer与服务器连接时出错
SQLServer中游标是如何处理数据的?
SQL Sever性能怎样全方位诊断?
SQL Server教程:详细学习游标
详解SQLServer 存储过程

MSSQL 中的 SQL Server数据库技术(86)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 125 ::
收藏到网摘: n/a

  通常情况下我们用游标来从基础表中检索数据,以实现对数据的行处理。但在某些情况下,我们也常要修改游标中的数据,即进行定位更新或删除游标所包含的数据。所以必须执行另外的更新或删除命令,并在WHERE 子句中重新给定条件才能修改到该行数据。但是如果在声明游标时使用了FOR UPDATE 语句,那么就可以在UPDATE 或DELETE命令中以WHERE CURRENT OF 关键字直接修改或删除当前游标中所存储的数据,而不必使用WHERE 子句重新给出指定条件。当改变游标中数据时,这种变化会自动地影响到游标的基础表。但是如果在声明游标时选择了INSENSITIVE 选项时,该游标中的数据不能被修改,具体含义请参看声明游标一节中对INSENSITIVE 选项的详细解释。
    进行定位修改或删除游标中数据的语法规则为:


    其中:
    • table_name: UPDATE 或DELETE 的表名;
    • column_name: UPDATE 的列名;
    • cursor_name: 游标名。
    下面我们将给出两个例子来说明如何对游标进行定位更新或删除,首先声明一个游标。



    例13-6: 更新authors 表中的au_lname 和au_fname 列


    例13-7: 删除authors 表中的一行数据


提示:以上更新或删除操作总是基于游标的当前位置。
   例13-8: 下面是一个定位更新的完整例子,首先查看authors 表中每一行,将au_id等于’172-32-1176’的记录的au_lname 和au_fname 分别更改为’Smith’和’Jake’。