我正在使用 SQL Server 2008。这是我的示例表
SEQ NAME GROUP
1 abc 1
2 bcd 1
3 cde 3
在上表中,SEQ 是我的身份列(自动编号)。如果我想插入一个 name = 'def' 和 group = 3 的新行,我可以这样做
INSERT INTO SampleTable(NAME, GROUP) VALUES ('def',3)
现在,如果我想插入一个新行,然后设置新插入行的 GROUP = SEQ,我分两步进行,如下所示
INSERT INTO SampleTable(NAME, GROUP) VALUES ('def',999)
UPDATE SampleTable SET GROUP = SEQ where NAME = 'def'
有什么方法可以一步完成吗?例如
INSERT INTO SampleTable(NAME, GROUP) VALUES ('def',SCOPE_IDENTITY())
上述语句显然不起作用,因为 SCOPE_IDENTITY() 仅在插入完成后才设置。但是有没有办法使用单个插入语句设置 GROUP = SEQ?