从insert语句的output子句中的select语句中获取数据 [英] Get data from select statement in output clause of insert statement

查看:145
本文介绍了从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆