Sql server数据库中给虚拟表添加序号列(转)

1:   自增列       类型为:int   identity(1,1)     当然也可以是bigint,smallint    
        eg:   create   table   tbName(id   int   identity(1,1),description   varchar(20))  
        或在用企业管理器设计表字段时,将字段设为int,将标识设为是,其它用默认即可  
   
  2:   查询时加序号:  
      a:没有主键的情形:  
        Select   identity(int,1,1)   as   iid,*   into   #tmp   from   TableName  
        Select   *   from   #tmp  
        Drop   table   #tmp  
      b:有主键的情形:  
        Select   (Select   sum(1)   from   TableName   where   KeyField   <=   a.KeyField)   as   iid,*   from   TableName   a  
  3:生成自增序列号的表  
      eg:   生成一列0-30的数  
        Select   top   30   (select   sum(1)   from   sysobjects   where   name<=   a.name)-1   as   id   from   sysobjects   a  
   
      当然,可能sysobjects   中没有这么多条记录,比如只有100条,我需生成1-800的序列号  
      如下处理:  
  Select   (Select   sum(

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值