这个表大概有这几个字段 id roadName roadCode。。。(均不为空)其中id是自增长的,roadCode是主键(nvarchar),我能获得的假如就只有roadName,我该怎么插入一条数据?并且得到有规律的roadCode
roadCode要和id对应,比如id=1,那么roadCode就应该是DL0001这种,您说的lock我不是很懂,用触发器怎么写呢?
create trigger InsertA
on A
after insert
as
declare @id int, @RoadCode nvarchar(50)
set @id=@@IDENTITY
set @RoadCode= 'DL' + right('0000' + cast(@id as varchar),4)
update A set RoadCode=@RoadCode where id=@id
roadcode你就用一个静态的字段放在内存中,然后每次insert 之前都 lock住,按照规则修改你的code,然后插入数据
roadCode要和id对应,比如id=1,那么roadCode就应该是DL0001这种,您说的lock我不是很懂,用触发器怎么写呢?
因为ID是自增列,可以select上一个ID+1即可。
insert into TableA (roadName,roadCode) select @roadname,('DL'+cast(select Max(Id)+1 from TableA) as varchar(10)))