gpt4 book ai didi

sql-server - 生成 6 位唯一编号

转载 作者:行者123 更新时间:2023-12-03 22:50:59 25 4
gpt4 key购买 nike

编辑:它将用作员工唯一编号(必须按随机顺序)

我有一张有列的表

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# 中生成唯一编号??

最佳答案

生成您尚未分配的所有号码的列表。打乱列表并创建一个包含随机 ID 和递增索引的新表。当需要新的ID时,选择索引最小的那个;将其从未使用的 ID 表中删除并将其作为您的新 ID 返回。

关于sql-server - 生成 6 位唯一编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15349170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com