Id, FormatId, F1 ,F2
Id序号我设了自动加一,FormatId我想他也象这样"SL000001",
当Insert时就加1,FormatId我想他也能自动加一"SL000001","SL000002"...
能用一条sql什么办法实现.最好不要用中间表。有什么好方法?
谢谢!
create table #test
(id int identity,
FormatId as 'SL'+right(10000000+id,6),
F1 varchar(50))
go
insert #test(F1) select '1'
union all select '2'
select * from #testdrop table #test
/*
id          FormatId       F1   
----------- -------------- -----
1           SL000001       1
2           SL000002       2(所影响的行数为 2 行)
*/

解决方案 »

  1.   

    @@IDENTITY和SCOPE_IDENTITY和IDENT_CURRENT的区别
    1,@@IDENTITY是得到当前会话的所有范围的最后插入的IDENTITY值 
    2,SCOPE_IDENTITY是得到当前会话的当前范围的最后插入的IDENTITY值 
    3,IDENT_CURRENT是得到指定表的最后插入的IDENTITY值,与会话、范围无关。
      

  2.   

    这种要在插入语句前处理好ccode,写一个select语句就可以了declare @id numeric(8),@ccode varchar(50)
    select @ccode=isnull(max(cast(ccode as numeric)+1),0)+1 
    from fg_ogm_station取得最大ID后,再转换成字符串,前面再补上0的个数
      

  3.   

    declare @count bigint
    select @count =max(序号)
    from tb