问题描述
我想问你是否可以在数据流中使用“插入的输出” sql语句(Azure数据工厂)
当前,我遇到一个错误:
在源'source1'处的:shaded.msdataflow.com.microsoft.sqlserver.jdbc.sqlServerException:嵌套INSERT,UPDATE,DELETE或MERGE语句不允许在SELECT语句中使用,该语句不是该行的直接行源INSERT语句。
使用以下语句:

我做了什么:
我还检查了存储过程,但是它们不提供任何输出。
我想要什么:
我想获取插入元素的行的“ Id”(在一次操作中“ Insert + Select”)。
解决方法
如错误所示,不允许插入语句。
作为解决方法,您可以这样做。
- 创建一个Lookup活动,并像这样输入您的SQL:
- 创建数据流并在其中创建参数。
表达式:
@activity('Lookup1').output.firstRow.ID
3。在数据流内部,选择表作为源并输入以下表达式:
concat('select ID from dbo.test6 where ID =',toString($ID))
4。如果需要进行一些转换,可以创建一个DerivedColumn
并执行以下操作: