我想截断配置表中我的列isTrun的值为True的表。脚本需要在复制活动的Sink预复制脚本中运行。
数据流如下:
查找活动查找配置表。然后输入for each loop并复制要查找的表。在复制之前,需要对配置表中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}]',' ')}
先谢谢你了!
2条答案
按热度按时间k5ifujac1#
对复制前脚本使用以下表达式:
它检查isTrun是否等于1,如果是,它将truncate命令与表名连接起来。如果不是,前脚本将是一个空字符串,不做任何事情。
rpppsulh2#
pre-copy script
,你可以使用来实现的要求。isTrun
值为True时,则if condition检查并执行truncate语句,并忽略isTrun值是否为false。以下是在上述执行(isTrun为false)之后的表t2(source和sink中的1行)。