是否可以在INSERT语句的OUTPUT子句中插入不同表的列,例如:
DECLARE @insertedrecords TABLE (Id int, [Guid] uniqueidentifier);
INSERT INTO mytable
(column names here...)
OUTPUT inserted.id_no, b.[Guid] INTO @insertedrecords
SELECT
column names here...
FROM @myTVP b
目前,使用上述内容我收到以下错误:
多部分标识符" b.Guid"无法受约束。
答案 0 :(得分:0)
Inserted
特殊表将保存那些插入目标表的记录,而不是 Source 表中的所有数据。如果目标表中的列不属于Insert
列表,那么在OUTPUT
子句中,它将为NULL
所以你需要两个不同的Inserts
DECLARE @insertedrecords TABLE (Id int, [Guid] uniqueidentifier);
INSERT INTO mytable
(column names here...)
SELECT
column names here...
FROM @myTVP b
Insert into @insertedrecords(Id,Guid)
select id_no, [Guid]
From @myTVP