int,或bigint.或者参考如下: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 行) */
declare @t table(id dec(20) identity(1,1),col varchar(10)) insert @t select 'a' union all select 'b'select * from @t /* id col --------------------------------------- ---------- 1 a 2 b(2 行受影响) */
add id int identity --或者bigint
int,bigint,dec(n)--不要带小数 等都可以。
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 行)
*/
insert @t select 'a'
union all select 'b'select * from @t
/*
id col
--------------------------------------- ----------
1 a
2 b(2 行受影响)
*/
或 decimal,或者是小数位数为 0 的 numeric 数据类型,
并且约束为不可为 Null。