sql输出子句错误
t1 有一个自动生成的主键,名为 pkId
INSERT INTO t1( title, summary)
OUTPUT inserted.pkId, t2.id INTO @IdTable(New_Id, Old_Id)
SELECT t2.title, t2.summary
FROM t2
有人可以告诉我为什么这不起作用吗?
我收到错误无法绑定多部分标识符“t2.id”。
t1 has an automatically generated primary key called pkId
INSERT INTO t1( title, summary)
OUTPUT inserted.pkId, t2.id INTO @IdTable(New_Id, Old_Id)
SELECT t2.title, t2.summary
FROM t2
Can someone please tell me why this doesn't work?
I'm getting the error The multi-part identifier "t2.id" could not be bound.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您无法从 INSERT 上的 OUTPUT 子句中获取 t2 的值(可以用于 UPDATE 和 DELETE)。
来自 MSDN:
请注意,未提及 INSERT
您必须
You can't get the values from t2 in the OUTPUT clause on INSERT (you can for UPDATE and DELETE).
From MSDN:
Note that INSERT isn't mentioned
You'd have to
来自评论
这不是一个优雅的解决方案,但最简单的可能是将
t2ID
列添加到t1
INSERT
以包含t2ID (不使用
OUTPUT
子句)@IdTable
中SQL 脚本
From Comments
Not an elegant solution but the easiest might be to
t2ID
column tot1
INSERT
to include thet2ID
(not using anOUTPUT
clause)@IdTable
SQL Script