在数据库中我存储了大量的数据
对于部分无用的数据,我对其进行了删除,
但是再删除的过程好中,我想保留数据的编号,
对于其他字段的内容我要将其全部清空,
我系、需要一个存储过程来实现这个功能
我要怎么做呢?
您可以给我一下建议吗?
我的表是news
id  newstitle  newsauthor  newscountent   newsdate
1   开心1       小杜        得看看.....     2009-1-17
2   开心2       小杜        得看看.....     2009-1-17
3   开心3       小杜        得看看.....     2009-1-17
4   开心4       小杜        得看看.....     2009-1-17
5   开心5       小杜        得看看.....     2009-1-17
我想删除id为2.3.4.5 的数据中其他的字段的内容但是id编号保留
我不能使用delete  from  news  where  id in(2,3,4,5);
我需要怎样修改SQL语句呢?

解决方案 »

  1.   

    update news set
      newstitle = null
      ,newsauthor = null
      ...
    where  id in (2,3,4,5)
      

  2.   

    update news set
      newstitle = null,
      newsauthor = null
    where  [id] in (2,3,4,5)
      

  3.   

    update news
    set 
        newstitle   =null,
        newsauthor  =null,
        newscountent=null,
        newsdate    =null
    where
        id in(2,3,4,5)
      

  4.   


    不太明白楼主这么做的目的,建议:
    新建一个编号维护表,在news表中新增记录时,将编号也insert到该表中;
    执行删除操作时,将news表中的记录直接删除;而处理编号连续性时,从编号维护表取数据。
      

  5.   

    保留编号的目的是为了在将来的审核中可以知道这个id的相关操作信息
    这个是我的一个客户的要求,
    其实我也很不明白,如果按照他的要求会给将来的其他操作带来很多的麻烦而删除其他的信息是为了数据的回收,删除的信息确定为无用的信息xi
    谢谢大家的帮助
      

  6.   

    本来就奇怪你的需求,保留空的记录有什么用处呢?如果你的id是自动编号的,直接删除就会保留id不会再次使用
      

  7.   

     如果是这样的话使用delete  from  news  where  id in(2,3,4,5); 
    语句就会将id删除了
      

  8.   

    估计csdn这块的select没加with(nolock)