首页 >  应用与开发  >  数据库

SQL怎样自动生成编号格式如:BV+YYYYMM+编号

发布日期:2010-06-08 

怎样由SQL Server 2000 系统自动编号
生成格式如:BV+YYYYMM+编号
BV是固定字符
YYYYMM是年月
编号是0到9的数字

使用触发器来实现
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字段会自动编好号