将记录插入 ID 被散列的 table?

Insert record into table where ID is hashed?

我正在尝试将记录插入到具有两个键的 table 中:TableNo intRateID varchar32

两者都不允许空值。我遇到的问题是,如果我使用 insert into 从后端插入一条记录,我必须指定一个 RateID,所以如果我给它 0 或 1 或 3 它会起作用,但是当我从前端插入记录时,系统会生成一个唯一的32 个字符参考。我正在尝试重新创建它并想知道系统如何生成唯一 ID。

这是从 SQL 服务器跟踪中捕获的代码;

exec sp_executesql 
N'INSERT INTO BTRRTEmpls (TableNo, Employee, EffectiveDate, Rate, RateID) 
VALUES (@TableNo, @Employee, @EffectiveDate, @Rate, @RateID)',
    N'@TableNo int,@Employee varchar(6),@EffectiveDate datetime,@Rate decimal(4,2),@RateID varchar(32)',
    @TableNo=1111,@Employee='781.WM',@EffectiveDate='2020-01-01 
00:00:00',@Rate=45.65,@RateID='A010589973F841C28EB8E4356D0B6CFC'

@RateID 的值 A010589973F841C28EB8E4356D0B6CFC 是如何生成的?

生成唯一的随机 32 位字符

REPLACE(NEWID(),'-','')