我有一个带有自动生成的 ID 列的表(仅此而已!)
CREATE TABLE [dbo].[EmailGroup](
[EmailGroupGuid] [uniqueidentifier] NOT NULL
CONSTRAINT [PK_EmailGroup] PRIMARY KEY CLUSTERED ([EmailGroupGuid] ASC)
) ON [PRIMARY]
ALTER TABLE [dbo].[EmailGroup]
ADD CONSTRAINT [DF_EmailGroup_EmailGroupGuid] DEFAULT (newsequentialid()) FOR [EmailGroupGuid]
Run Code Online (Sandbox Code Playgroud)
我想插入到这个表中并提取生成的 ID。但是,我不知道是否可能。它似乎在抱怨缺少值/列。
DECLARE @Id TABLE (Id UNIQUEIDENTIFIER)
INSERT INTO EmailGroup
OUTPUT inserted.EmailGroupID INTO @Id
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到这一点吗?我的意思是我可以在表中添加一个虚拟列并轻松执行此操作:
INSERT INTO EmailGroup (Dummy)
OUTPUT inserted.EmailGroupID INTO @Id
VALUES (1)
Run Code Online (Sandbox Code Playgroud)
但我真的不想。
我也可以指定我自己的 ID 并插入它,但我又不想这样做。