编辑:它将用作员工唯一编号(必须是随机顺序)
我有一个有列的表
id(auto-increment), uniqueNumber, and some other field
对于每条插入的记录,我想为 uniqueNumber 生成一个 6 位数的唯一编号,
现在我通过触发器得到这个
Create TRIGGER [dbo].[trgUniqueCode] ON [dbo].[testtable]
FOR INSERT
AS
declare @id int;
DECLARE @Upper INT
DECLARE @Lower INT
declare @result int
select @id=i.id from inserted i;
SET @Lower = 100000
SET @Upper = (select top 1(isnull(UniqueNumber,999999)) from testtable)
set @result =(ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0))
update testtable set UniqueNumber = @result where ID=@id
我不确定这种方法是否有效,我正在寻找生成(优先时间执行)的最佳方法,或者我将在 C# 中生成唯一编号??