sql - Synapse/ADF - 如果预复制脚本中的动态配置列为 True,如何截断表

标签 sql azure azure-synapse azure-data-factory

我想截断配置表中 isTrun 列的值为 True 的表。 这些脚本需要在复制事件的 Sink 预复制脚本中运行。

数据流如下:

查找事件查找配置表。然后进入 foreach 循环并复制查找到的表。在复制之前,需要截断配置表中 isTrun 列值为 True 的表。

我面临的问题是我所有的尝试都有无效的语法。

我已经尝试过以下脚本:

if(@item().isTrun = 1, TRUNCATE TABLE [@{item().targetSchema}].[@{item().targetTable}], '1=1')

这个脚本:

TRUNCATE TABLE @{if(equals(item().isTrun, 'True'),'[@{item().targetSchema.item()}].[@{targetTable}]',' ')}

提前致谢!

最佳答案

将此表达式用于预复制脚本:

@{if( 
equals(item().isTrun,1), 
concat( 'truncate table ', item().doel_schema, '.', item().doel_tabel ) ,'')}

它检查此循环的 isTrun 是否等于 1,如果是,则将 truncate 命令与表名连接起来。如果没有,前脚本将是一个空字符串,不执行任何操作。

关于sql - Synapse/ADF - 如果预复制脚本中的动态配置列为 True,如何截断表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75852417/

相关文章:

java - 如何用 Java 生成报告?

azure - 如何从 GitLab 容器注册表将 Docker 容器部署到 Azure 应用服务

azure - Azure 突触 (DWH) 中的关系

Azure 数据流-源查询下推

azure - 配置请求延迟或发送失败

azure - 如何从 Synapse Pipelines 触发 ADF Pipeline

java - 如何从计算行数的 SQL 查询开始正确实现 Hibernate SQL 查询?

mysql - 如何两次加入同一张表

php - 使用外部 PHP 文件更新 SQL 表

c# - Azure CosmosDB Contains 方法不起作用