sequence是SQL server 2012的新特性,不过仅支持int,bigint,smallint,tinyint型。可以实现数字的自增,以及在数据库级别中实现序列号在表,多列之间的共享。具体功能参考:https://www.cnblogs.com/CareySon/archive/2012/03/12/2391581.html
目前有个需求是插入数据,需要主键实现自增,并且主键是varchar类型。sequence不支持varchar
所以考虑用insert触发器构造自定义的主键,实现如下
首先在测试数据库下建测试表:
if exists (select * from sysobjects where name = 'testTable')
drop table testTable
create table testTable
(
id varchar(10) primary key not null,
val varchar(100),
val2 varchar(100),
)
go