【发布时间】:2018-05-24 06:17:13
【问题描述】:
我有一个表@p2作为参数发送到一个ID名为IdObjectSubTypeTemp的存储过程,我需要插入一个表ObjectSubType并输出带有参数表ID的身份,如下所示:
INSERT INTO [dbo].[ObjectSubType]
([IdObject]
,[IdSubType])
OUTPUT inserted.[IdObjectSubType] ,OS.[IdObjectSubTypeTemp]
INTO @IdObjectSubTypeTbl
SELECT OS.[IdObject]
,OS.[IdSubType]
FROM @p2 OS
但我一直在理解:
无法绑定多部分标识符“OS.IdObjectSubTypeTemp”。
虽然我在更新时做了同样的事情并且它正在工作但在插入时它不起作用
【问题讨论】:
-
OS.IdObjectSubTypeTemp不在您的选择列表中 -
@Squirrel 是的,因为我不想将它插入表 ObjectSubType 我只想输出它
-
没有必要将所有列都列在 select 中,但所有列都应该出现在 from 表中,这样您就可以与退出该列的其他表连接,只需添加 insert 而不是 select在此此列将仅保存在输出表中。
-
@Susang 该列不存在于任何物理表中......它只存在于临时表
@p2中,我只想将临时表中的列与创建的标识映射但是我无法在物理表中添加它 -
@User7291 您是否使用区分大小写的排序规则?
标签: sql sql-server tsql stored-procedures