Azure数据工厂-SQL

问题描述

我想问你是否可以在数据流中使用“插入的输出sql语句(Azure数据工厂)

当前,我遇到一个错误

在源'source1'处的

:shaded.msdataflow.com.microsoft.sqlserver.jdbc.sqlServerException:嵌套INSERT,UPDATE,DELETE或MERGE语句不允许在SELECT语句中使用,该语句不是该行的直接行源INSERT语句。

使用以下语句:

enter image description here

我做了什么:

我还检查了存储过程,但是它们不提供任何输出

我想要什么:

我想获取插入元素的行的“ Id”(在一次操作中“ Insert + Select”)。

解决方法

如错误所示,不允许插入语句。

作为解决方法,您可以这样做。

  1. 创建一个Lookup活动,并像这样输入您的SQL:

enter image description here

  1. 创建数据流并在其中创建参数。 表达式:@activity('Lookup1').output.firstRow.ID

enter image description here

3。在数据流内部,选择表作为源并输入以下表达式:

concat('select ID from dbo.test6 where ID =',toString($ID))

4。如果需要进行一些转换,可以创建一个DerivedColumn并执行以下操作:

enter image description here