为什么不能拿id直接作为流水号而要另编一个呢?对SQL SERVER 不放心?

解决方案 »

  1.   

    set  @head=cast('000'  as  int)  --> set @head=0update  #tb  set  @id1=@id1+1  
      ,sq_NO=@head+right('0000'+cast(@id1  as  varchar),4)  @head 一直都是 0,加上没意义吧?
      

  2.   

    测试成功insert into SQ_table
    select * from #tb 我没建立你的表结构,我用我自己的表测试成功,一下的语句可以正常运行declare @aa table(id int,a1 int,a2 varchar(100))
    insert into @aa select * from nclassselect * from @aa
      

  3.   

    因为人家要求流水单号前面写几个0...所以不好用自动增量直接做流水单号.
    回4楼,如果插入字段id,就会提示不能插入自动增量的值.
    所以我要插入除id以外的其他字段,但是其它有很多字段,全部写下去很麻烦.
    有没有简单的sql语句表示插入除id以外的其他字段from #tb?
      

  4.   

    一个自动ID列,再加一个流水列(字符型),只需做个update的触发器!
      

  5.   

    因为人家要求流水单号前面写几个0...所以不好用自动增量直接做流水单号. 这个好解决,直接查询就可以了,不用这么复杂的写触发器select substring('000'+convert(varchar,id),1,4) from 表
      

  6.   


    因为人家要求流水单号前面写几个0...所以不好用自动增量直接做流水单号. 这个好解决,直接查询就可以了,不用这么复杂的写触发器 再写一条,语句很简单的select '000'+cast(id as varchar) from nclass
      

  7.   

    现在只想问下有没办法用sql语句表示插入除id以外的其他字段from #tb?
      

  8.   

    不用触发器的话,当删除多个单号单号就不连续了啊.
    所以有没人帮小弟改下后面的代码,有没办法用sql语句表示插入除id以外的其他字段from #tb?
    不然当我增加新字段,又要在触发器里写了..