CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

求助,删除一条记录,其余记录号自动排列。

楼主wings2004(模糊的世界)2005-12-26 18:50:53 在 MS-SQL Server / 基础类 提问

有如下记录:  
  1     孙     男       英语     数学...  
  2     王     男       英语     数学...  
  3     李     女       语文     历史...  
  4     张     女       英语     语文  
   
  假如删除第二条记录,要求剩下的记录排列如下:  
  1     孙     男       英语     数学...  
  2     李     女       语文     历史...  
  3     张     女       英语     语文...  
   
  记录的序号自动更新为顺序。  
   
  求助,如何在vc或者更改数据库属性实现以上的要求,谢谢高手指点!!!!!!!! 问题点数:100、回复次数:7Top

1 楼liuqd(德)回复于 2005-12-26 19:19:24 得分 0

编写删除的存储过程Top

2 楼lxzm1001(*~悠悠蓝星梦~*)回复于 2005-12-26 19:20:29 得分 10

select   id=(select   count(*)   from   tablename   where   id<=t.id),*   from   tablename   t  
  delete   tablename   where   id=2  
  select   id=(select   count(*)   from   tablename   where   id<=t.id),*   from   tablename   tTop

3 楼dutguoyi(新鲜鱼排)回复于 2005-12-26 19:21:53 得分 20

create   Table   table1(id   int,name   varchar(10))  
  insert   table1    
  select   1,'Sun'  
  union   all   select   2,'Li'  
  union   all   select   4,'zhang'  
   
  select   *   from   table1  
  update   table1   set   id=  
  (  
  select   count(1)   from   table1   t2  
  where   t2.id<=table1.id  
  )  
  select   *   from   table1  
  drop   table   table  
   
  (3   row(s)   affected)  
  /*  
  id                     name                
  -----------   ----------    
  1                       Sun  
  2                       Li  
  4                       zhang  
   
  (3   row(s)   affected)  
   
   
  (3   row(s)   affected)  
   
  id                     name                
  -----------   ----------    
  1                       Sun  
  2                       Li  
  3                       zhang  
   
  (3   row(s)   affected)1  
  */Top

4 楼hpym365(君子爱财,取之有道.)回复于 2005-12-26 19:40:29 得分 30

update   table1   set   id=  
  (  
  select   count(1)   from   table1   t2  
  where   t2.id<table1.id  
  )+1Top

5 楼rivery(river)回复于 2005-12-26 20:15:51 得分 20

--测试表及数据  
  declare   @t   table(id   int,xb   char(2),xm   varchar(20),kemu   varchar(20))  
  insert   into   @t  
  select   1,'孙','男','英语'   union  
  select   2,'王','男','英语'   union  
  select   3,'李','女','语文'   union  
  select   4,'张','女','英语'    
   
  declare   @del_id   int  
  select   @del_id=2  
  --删除   实际处理中请放在一个事务中。  
  delete   from   @t   where   id=@del_id  
  --变更序号  
  declare   @i   int  
  select   @del_id=@del_id-1  
  update   @t  
  set   @del_id=@del_id+1,  
          id=@del_id  
  where   id>@del_id  
  --查看结果  
  select   *   from   @t  
  /*  
  1 孙 男 英语  
  2 李 女 语文  
  3 张 女 英语  
   
  */Top

6 楼rivery(river)回复于 2005-12-26 20:16:25 得分 10

--测试表及数据  
  declare   @t   table(id   int,xb   char(2),xm   varchar(20),kemu   varchar(20))  
  insert   into   @t  
  select   1,'孙','男','英语'   union  
  select   2,'王','男','英语'   union  
  select   3,'李','女','语文'   union  
  select   4,'张','女','英语'    
   
  declare   @del_id   int  
  select   @del_id=2  
  --删除   实际处理中请放在一个事务中。  
  delete   from   @t   where   id=@del_id  
  --变更序号  
  select   @del_id=@del_id-1  
  update   @t  
  set   @del_id=@del_id+1,  
          id=@del_id  
  where   id>@del_id  
  --查看结果  
  select   *   from   @t  
  /*  
  1 孙 男 英语  
  2 李 女 语文  
  3 张 女 英语  
   
  */  
  Top

7 楼mislrb(上班看看早报,上上CSDN,下班看看电影)回复于 2005-12-26 23:10:48 得分 10

create   trigger   t_updateid   on   tablename  
  for   deleted  
  as  
      update   a   set   a.id=a.id-1   where   id>d.id   from   tablename   a,deleted   d  
  goTop

相关问题

  • 删除记录????
  • 记录删除
  • 为什么datagrid点击删除后,只删除排列第一位的记录?
  • 数据记录的删除
  • 有关ADO删除记录
  • 删除多条记录
  • 表记录删除不掉
  • 删除记录失败
  • 记录删除问题?
  • 删除记录的问题

关键词

  • 数学
  • 英语
  • 删除
  • unionselect
  • del
  • 记录
  • 男
  • 李女语文
  • 语文
  • 女

得分解答快速导航

  • 帖主:wings2004
  • lxzm1001
  • dutguoyi
  • hpym365
  • rivery
  • rivery
  • mislrb

相关链接

  • SQL Server类图书

广告也精彩

反馈

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