Azure Data Factory源选项中的递归查询

我正在尝试使用查询选项在Azure数据工厂源中执行递归查询。

但是,即使在with语句之前写入go或;,Data Factory也无法投影这些列。如果我写(在WITH子句之前):

  • 转到&q;,我收到此错误"shaded.msdataflow.com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 'r'. If this is intended to be a common table expression, you need to explicitly terminate the previous statement with a semi-colon."
  • 如果我写&;&q;,我会得到这个shaded.msdataflow.com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near ';'.
  • 如果我没有写任何%shaded.msdataflow.com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'with'.

所以我想知道Azure数据工厂中是否不允许这种代码,或者我是否遗漏了什么。


解决方案

您可以输入到数据流的源选项中的查询非常有限,因为它甚至不支持order by子句。但是,您可以引用用户定义的函数,这样您就可以将CTE嵌套在UDF中,然后从源选项中引用它。

参考:Source transformation

查询:如果在输入字段中选择查询,请为您的源输入一个SQL查询。此设置将覆盖您在数据集中选择的任何表。这里不支持ORDER BY子句,但您可以设置完整的SELECT FROM语句。您还可以使用用户定义的表函数。SELECT*from udfGetData()是返回表的SQL中的UDF。此查询将生成一个可在数据流中使用的源表。使用查询也是减少用于测试或查找的行数的好方法。

相关文章