我正在尝试使用OUTPUT子句来选择列但是失败了。这是一个简单的例子,
create table A (id int, name varchar(10))
create table B (id int)
insert into A values(1,'a'),(2,'b'),(3,'c')
declare @Inserted TABLE (ID INT, name varchar(10));
INSERT INTO B
OUTPUT INSERTED.ID, a.name INTO @Inserted
select id from a
我收到此错误,
The multi-part identifier "a.name" could not be bound.
答案 0 :(得分:3)
OUTPUT
子句只能引用Inserted
(以及可能Deleted
)伪表 - 将语句更改为:
INSERT INTO B
OUTPUT INSERTED.ID, INSERTED.name INTO @Inserted
SELECT id
FROM a
然后它应该可以正常工作。