从insert语句的output子句中的select语句中获取数据 [英] Get data from select statement in output clause of insert statement
本文介绍了从insert语句的output子句中的select语句中获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有如下查询
I have a Query like below
INSERT INTO iProc.TblContracItemDt
(
ClientId, ContractId, ItemId, ItemPkgId, IsOpenCont, OpenBasePrice, IsActive, CreatedBy, CreatedOn, ModifiedBy, ModifiedOn, IsDelete
)
OUTPUT INSERTED.ContItemDtId,INSERTED.ItemId,a.ItemLineNo INTO @ContracItemDtOutput
SELECT ClientId, @Pid, ItemId, ItemPkgId, IsOpenCont, OpenBasePrice, IsActive, CreatedBy, GETDATE() AS CreatedOn, ModifiedBy, GETDATE() AS ModifiedOn, IsDelete FROM @TVPContracItemDt a
$ b当我执行以下错误时,$ b
when i executing the following error occur
Msg 4104, Level 16, State 1, Procedure Usp_TblContractInsert, Line 100 [Batch Start Line 7]
The multi-part identifier "a.ItemLineNo" could not be bound.
请帮我解决这个问题
我尝试过:
我试图执行查询。
please help me to solve this
What I have tried:
I have tried to execute the query .
INSERT INTO iProc.TblContracItemDt
(
ClientId, ContractId, ItemId, ItemPkgId, IsOpenCont, OpenBasePrice, IsActive, CreatedBy, CreatedOn, ModifiedBy, ModifiedOn, IsDelete
)
OUTPUT INSERTED.ContItemDtId,INSERTED.ItemId,a.ItemLineNo INTO @ContracItemDtOutput
SELECT ClientId, @Pid, ItemId, ItemPkgId, IsOpenCont, OpenBasePrice, IsActive, CreatedBy, GETDATE() AS CreatedOn, ModifiedBy, GETDATE() AS ModifiedOn, IsDelete FROM @TVPContracItemDt a
但该错误显示
推荐答案
请从输出插入的行中删除a.Itemlineno。它会起作用
Please remove a.Itemlineno from output inserted row. It will work
这篇关于从insert语句的output子句中的select语句中获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文