各位兄弟帮个忙
有个test表,里面有个字段t_id,test表的有些记录中t_id为空,有些记录不为空(不为空的值没有重复,这个可不管它);我的目的是要把test表的t_id字段为空的填满,而且所填的值不能重复(就以以数字1到500填充把,假设这个表有500条记录)),要整理个语句或者存储过程出来(Sybase),哪位大哥帮个忙谢谢!

解决方案 »

  1.   

    Sybase?
    已经存在的值不管?还是已经存在的值需要跳过?
      

  2.   

    1.用Sybase语言写
    2.不用去管已存在的值,就当t_id这个字段全部为空,需要填满.
    3.谢谢!!
      

  3.   

    Oracle的话,
    类似这样,
    update test set t_id= ROWNUM
    update test a set t_id= (select count(*) from test b where b.rowid <= a.rowid)sybase的话,没用过,不知道。存储过程的话,
    只需要取出t_id是空的所有的纪录的主键,一个一个更新就是了。
      

  4.   

    update test
          set t_id=(select max(t_id)+1) from test)
    where t_id is null