1
CREATE TABLE Table1 :
Id int IDENTITY(1,1),
PK_Column1 nvarchar(50) Primary Key.

INSERT INTO Table1 (PK_Column1) VALUES ('Name'+Id)

结果:

Id  PK_Column1
1   Name1

这可能吗?还是我需要自己管理 Id 列才能使其正常工作?

4

1 回答 1

2

文档中:

在 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 包含该语句生成的最后一个标识值。

这适用于所有其他身份检查器。

如果这是您需要的,您可能应该在插入后立即编写一个小 SP 来更新记录。鉴于您的 primary_key 似乎是IDa 和 a 的一些不寻常的组合varchar,您最好也检查一下您的数据模型。

重要的是要注意与@@IDENTITY和的区别SCOPE_IDENTITY()

@@IDENTITY and SCOPE_IDENTITY return the last identity value generated in any table in the current session. However, SCOPE_IDENTITY returns the value only within the current scope; @@IDENTITY is not limited to a specific scope.

于 2013-06-25T07:50:55.090 回答