CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

只修改符合条件的一条记录的sql语句怎么写,多谢了。

楼主wzg7711(小蛇)2005-04-04 16:31:19 在 MS-SQL Server / 基础类 提问

例如:  
  update   top   1   tb_upload   set   flag_lock='a1'   where   flag_r2=1 问题点数:0、回复次数:8Top

1 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-04 16:34:17 得分 0

tb_upload   表中没有关键字吗??  
   
  有的话,贴出来,可以写的。Top

2 楼jinjazz(近身剪)回复于 2005-04-04 16:35:08 得分 0

update     tb_upload   set   flag_lock='a1'   where   checksum(*)=  
  (select   top   1   checksum(*)   from   tb_upload   where   flag_r2=1)  
  Top

3 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-04 16:41:28 得分 0

CHECKSUM  
  返回在表的行上或在表达式列表上计算的校验值。CHECKSUM   用于生成哈希索引。  
   
  语法  
  CHECKSUM   (   *   |   expression   [   ,...n   ]   )    
   
  参数  
  *  
   
  指定在表的所有列上进行计算。如果有任一列是非可比数据类型,则   CHECKSUM   返回错误。不可比数据类型是   text、ntext、image、cursor   以及基本类型为前   4   个数据类型之一的   sql_variant。  
   
  expression  
   
  是除非可比数据类型之外的任何类型的表达式。  
   
  返回类型  
  int  
   
  Top

4 楼xluzhong(Ralph)回复于 2005-04-04 16:54:56 得分 0

set   rowcount   1  
  update   tb_upload   set   flag_lock='a1'   where   flag_r2=1  
  set   rowcount   0  
  Top

5 楼zhang_yzy(六子儿)回复于 2005-04-04 16:55:19 得分 0

set   rowcount   1  
  update   top   1   tb_upload   set   flag_lock='a1'   where   flag_r2=1  
  Top

6 楼wzg7711(小蛇)回复于 2005-04-04 16:57:20 得分 0

update   top   1,这样会出错的Top

7 楼wzg7711(小蛇)回复于 2005-04-04 17:01:39 得分 0

请问:set   rowcount   1 是什么意思,可否解释一下Top

8 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-04 17:06:32 得分 0

8.   SET   ROWCOUNT  
   
  说明:使   Microsoft®   SQL   Server™   在返回指定的行数之后停止处理查询。    
   
  语法:SET   ROWCOUNT   {   number   |   @number_var   }    
   
  参数:number   |   @number_var   是在停止给定查询之前要处理的行数(整数)。  
   
  注释:建议将当前使用   SET   ROWCOUNT   的   DELETE、INSERT   和   UPDATE   语句重新编写为使用   TOP   语法。有关更多信息,请参见   DELETE、INSERT   或   UPDATE。  
     对于在远程表和本地及远程分区视图上执行的   INSERT、UPDATE   和   DELETE   语句,忽略   SET   ROWCOUNT   选项设置。  
     若要关闭该选项(以便返回所有的行),请将   SET   ROWCOUNT   指定为   0。  
     说明     设置   SET   ROWCOUNT   选项将使大多数   Transact-SQL   语句在已受指定数目的行影响后停止处理。这包括触发器和   INSERT、UPDATE   及   DELETE   等数据修改语句。ROWCOUNT   选项对动态游标无效,但限制键集的行集和不感知游标。使用该选项时应谨慎,它主要与   SELECT   语句一起使用。  
     如果行数的值较小,则   SET   ROWCOUNT   替代   SELECT   语句   TOP   关键字。  
     SET   ROWCOUNT   的设置是在执行或运行时设置,而不是在分析时设置。  
   
  权限:SET   ROWCOUNT   权限默认授予所有用户。  
   
  示例:SET   ROWCOUNT   在指定的行数后停止处理。在下例中,注意有   x   行满足预付款少于或等于   $5,000   的条件;但是,从更新所返回的行数中可以看出并非所有的行都得到处理。ROWCOUNT   影响所有的   Transact-SQL   语句。  
   
     USE   pubs  
     GO  
     SELECT   count(*)   AS   Cnt  
     FROM   titles    
     WHERE   advance   >=   5000  
     GO  
   
     下面是结果集:  
   
     Cnt                
     -----------    
     11                      
   
     (1   row(s)   affected)  
   
     现在,将   ROWCOUNT   设置为   4,并更新预付款等于或大于   $5,000   的所有行。  
   
     --   SET   ROWCOUNT   to   4.  
     SET   ROWCOUNT   4  
     GO  
     UPDATE   titles  
     SET   advance   =   5000  
     WHERE   advance   >=   5000  
     GO  
   
     
  Top

相关问题

  • 求一sql 语句,多谢
  • 求sql语句!多谢了。
  • 一个SQL语句的问题,多谢!
  • sql语句的问题? 多谢了
  • 请教插入记录的sql语句
  • Sql语句错误:记录过大
  • 批量删除记录SQL语句。
  • SQL语句问题,有相同记录
  • 关于SQL语句的记录
  • 请大虾帮忙!这个SQL语句怎么写?多谢!

关键词

  • 语句
  • 选项
  • 语法
  • 数据
  • top
  • sql
  • rowcount
  • r2
  • set rowcount
  • 设置

得分解答快速导航

  • 帖主:wzg7711

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo