Sql server 2012 如何获取在ms sql中由默认序列填充的主键的值?

Sql server 2012 如何获取在ms sql中由默认序列填充的主键的值?,sql-server-2012,Sql Server 2012,为了身份 create table [Sites] ( [SiteId] bigint identity(1,1) NOT NULL, [Name] nvarchar(50) NOT NULL) ALTER TABLE Sites ADD CONSTRAINT PK_Sites PRIMARY KEY ([SiteId]) 我知道 并获取SiteId值 create table [Sites] ( [SiteId] bigint NOT NULL DEFAULT (NEX

为了身份

create table [Sites] (  
[SiteId] bigint  identity(1,1) NOT NULL,   
[Name] nvarchar(50)  NOT NULL)
ALTER TABLE Sites ADD CONSTRAINT PK_Sites PRIMARY KEY  ([SiteId])
我知道

并获取SiteId值

create table [Sites] (  
[SiteId] bigint  NOT NULL DEFAULT (NEXT VALUE FOR [seqMain]),   
[Name] nvarchar(50)  NOT NULL)
ALTER TABLE Sites ADD CONSTRAINT PK_Sites PRIMARY KEY  ([SiteId])
如果按默认顺序填充,如何获取SiteId值?

您可以使用。
这使您能够从
DELETE
INSERT
UPDATE
MERGE
语句中输出值

您可以这样使用它:

INSERT INTO dbo.Sites(Name) OUTPUT INSERTED.SiteId VALUES('test')
INSERT INTO dbo.Sites(Name) OUTPUT INSERTED.SiteId VALUES('test')