【问题标题】:Azure Data Factory concating syntaxAzure 数据工厂连接语法
【发布时间】:2023-01-04 02:35:57
【问题描述】:

我正在尝试运行一个管道,该管道会导致选择系统 triggername 系统输出在哪里。

我试过使用:

@concat(concat(concat(concat('select * from ',item().DB_CARGA,'.',item().SC_CARGA,'.',item().tb_carga, 'where ' ,item().DS_CARGA ,'=', string(pipeline().TriggerName)))))

但我收到以下错误:

谁能用正确的语法帮助我?

【问题讨论】:

  • 如果 Rakesh 的回答对您有帮助,请mark it as the answer。这将帮助遇到类似情况的其他人。

标签: azure azure-data-factory


【解决方案1】:

当我使用你的语法时,我复制了这个并得到了类似的错误。

在你充满活力的表情中,table namewhere 之间应该有一个空格并且触发器名称应该用单引号括起来.

请按照以下步骤解决错误。

首先,我有一个查找活动,它将提供数据库名称、表名称和 SQL 表列(触发列名称)。把这个交给 Foreach。

我已经用 trigger_column 列创建了示例表并给出了一些值。

在管道中,我创建了同名触发器mytrigger。在 Foreach 内部用于我的演示 I have used lookup query。您可以根据要求使用您的活动。

动态内容:

您可以使用单个 concat 函数来执行此操作。

@concat('select * from ',item().database,'.',item().table_name, ' where ' ,item().trigger_name ,'=','''',string(pipeline().TriggerName),'''')

这将在执行时给出这样的 SQL 查询。

触发时输出:

【讨论】:

  • “多谢 。您的解决方案对我来说效果很好!
  • @ViniciusOliveira,如果提供的解决方案有帮助,请credit为您提供解决方案的社区成员。这将帮助其他社区成员
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-01
  • 2021-11-22
  • 2019-11-30
  • 2019-06-03
  • 1970-01-01
相关资源
最近更新 更多