[MSSQL]开发之 使用触发器自动编号
来源:互联网 发布:知汇骨科运动损伤康复 编辑:程序博客网 时间:2024/05/18 11:50
SQL Server 开发之 使用触发器自动编号 收藏
使用SQL Server创建数字类型的字段,可以设置为自动编号。但很多时候并不能满足我们的需求,例如为学生编号时,可能要用到年级、系别等再加上流水号进行编号。下面给一个简单的例子,使用触发器来进行自动编号。
--创建测试表
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[usertable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[usertable]
GO
create table usertable(userid varchar(20),username nvarchar(20))
go
--创建触发器
create trigger tg_insert on usertable
for insert
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('aa')
go
insert into usertable(username) values('bb')
go
insert into usertable(username) values('cc')
go
--显示数据
select * from usertable
go
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fengfangfang/archive/2006/06/29/850431.aspx
- [MSSQL]开发之 使用触发器自动编号
- SQL Server 开发之 使用触发器自动编号
- 触发器实现自动编号
- MSSQL之十七 触发器使用项目案例
- Oracle触发器实现自动编号
- oracle 自动编号与触发器
- Mssql触发器学习例子之UPDATE触发器
- Mssql触发器学习例子之INSERT触发器
- sql触发器实现自动编号格式
- 利用触发器自动生成单据编号
- sql server触发器自动生成编号
- mssql 触发器
- mssql 触发器
- MSSQL触发器
- MSSQL 触发器
- MSSQL 触发器
- MSSQL:触发器
- MSSQL之十 触发器和事务
- 无语?
- klhl;hjl
- 2010 哈尔滨网络预选赛 1003解题报告
- SQL Server 开发之 复制表数据的SQL脚本生成器
- 100919 中软实训之疲劳战
- [MSSQL]开发之 使用触发器自动编号
- 浊音与半浊音
- 特殊字符Unicode Entity Codes表
- Linux驱动开发——SmartArm3250板子上搭建Linux
- windows 下休眠命令,超好用(补充!)
- magento -- web services API 初体验
- 一个简单的栈的实现
- 关于异常的问与答
- 生活的指引