17xie > SQL Server 2005高级程序设计 > 4.5 在游标中修改数据
背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-105538.html    注册17xie 一起来写书 实现您的出书梦想!

4.5  在游标中修改数据

一直到现在,我们对于直接在游标中修改数据的概念都比较敷衍。眼下,是时候了解在游标中对记录进行的更新和删除了。

由于这里是在处理特定的行而非行集数据,因此,需要某种专门的语法来告诉SQL Server我们想要进行更新。幸而在已经知道了如何执行UPDATE或DELETE的前提下,该语法实际上将是相当简单的。

本质上,我们将在游标底层的表中更新或删除数据。这里的操作与运行我们已熟悉的UPDATE和DELETE语句一样简单,只不过,眼下需要用一个匹配游标行的WHERE子句来进行限制。在DELETE或UPDATE语句中只加入一行语句即可:

WHERE CURRENT OF <游标名>

关于该语法没有什么需要特别讲述之处。不过,为了更完美,接下来我们使用这里的语法来执行一个游标。

同样,把这里的游标当作一个全新的游标来对待。我们已经完成了很多的删除、添加和更新,我想你会发现,比起不得不通过逐行浏览来找出可能缺失的事情,只是第二次使用键会更容易些。

另外,我们再次使用了在本书前面用过的取模运算符(%)。记得该运算符只返回余数。因此,如果任何数除以2的余数是零,那么我们将知道该数是偶数。

关于这里的具体细节,剩下的部分毫无难处可言,我们很快还能知道得到了一些结果:

可以看到多个“1 row affected”(1行受影响)的消息,这是针对所有受UPDATE和DELETE语句影响的行所返回的消息。当我们着手进行最后一个结果集的列举时,很快就能知道删除了所有的奇数数值(这是我们告诉代码去做的事情),并且,用新的CustomerID更新了偶数数值的行。

没有任何疑难之处——就是一个使用了WHERE CURRENT参数的WHERE子句而已。


字数:765    最后更新:7个月以前 [04-23 16:01]happyskynet 修改
本页编辑者:happyskynet  
[前一页]:4.4 在游标中导航:F…  [后一页]:4.6 小结
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号