使用触发器来实现 create table test( id varchar(20), sname varchar(20) ) create TRIGGER [test_insert] ON [dbo].[test] INSTEAD OF INSERT AS declare @str varchar(20) declare @i integer set @str = 'BV'+left(convert(char,getdate(),112),6) select @i=isnull(max(cast(right(rtrim(id),len(id)-8) as integer)),0) from (select id from test where id like @str+'%') a set @i=@i+1 INSERT INTO TEST SELECT @STR++cast(@i as char)as id,sname from inserted 上面建好后执行: insert into test(sname) values('test') id字段会自动编好号