我有以下代码,我为每行分配一个唯一的ID,其中包含当前代码和以前的代码。它似乎工作正常,但我的问题是,如果我有一个带有新代码的更新文件,如何从中断的位置恢复唯一ID?
例如,如果我添加这些额外的行,如何填充以黄色突出显示的下面的ID?
CREATE PROCEDURE [dbo].[PI_Key_Create_Update] AS
BEGIN
Truncate Table RB_PI_Key_Assign
Truncate Table RB_PI_Key_Link
INSERT INTO RB_PI_Key_Assign
SELECT
ROW_NUMBER() OVER (ORDER BY RB_Code_L) AS PI_Key
, RB_Code_L
, RB_Code_L_P
FROM Stage_RB_Previous
INSERT INTO RB_PI_Key_Link
SELECT
a.PI_Key
, b.PI_Key as PI_KEY_P
, a.RB_Code_L
, a.RB_Code_L_P
FROM RB_PI_Key_Assign a LEFT JOIN RB_PI_Key_Assign b ON (a.RB_Code_L_P=b.RB_Code_L)
END
由于
答案 0 :(得分:0)
首先,这种类型的列应该是标识种子或自动增量。你不需要维护它们。
如果你没有任何理由手动更新它们,没有什么特别的。