drop table [dbo].[usertable]
GO
go
create trigger tg_insert on usertable
for insert
http://www.gaodaima.com/36099.htmlSQL Server 开发之 使用触发器自动编号_sqlserver
as
declare @username nvarchar(20)
declare @userid varchar(20)
declare @num int
declare @strNum varchar(20)
declare @prefix varchar(10)
declare @Numlen int
declare @strDate varchar(20)
–获取当前日期
set @strDate=substring(convert(varchar(10),getdate(),112),1,8)
–设置流水号的长度
set @Numlen = 4
–设置前缀
set @prefix = ‘S’
select @userid=max(userid) from usertable
where userid like @prefix + @strDate + ‘%’
if @userid is null
set @num=0
else
set @num=cast(replace(@userid,@prefix + @strDate ,”) as int)
set @num = @num + 1
set @strNum = cast(@num as varchar(10))
while(len(@strNum)<@Numlen)
set @strNum = ‘0’ + @strNum
set @userid=@prefix + @strDate + @strNum
select @username=username from inserted
rollback
insert into usertable values(@userid,@username)
go
insert into usertable(username) values(‘bb’)
go
insert into usertable(username) values(‘cc’)
go
select * from usertable
go
欢迎大家阅读《SQL Server 开发之 使用触发器自动编号_sqlserver》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码