在使用azure data中的Azure复制活动加载到目标表之前,我需要帮助从目标表中删除记录。我的条件是从雪花表中删除记录,其中snowflaketable.date列等于管道触发时间的日期。
我试着用预印的脚本写下面的内容
从“巩固”、“扫描电镜”、“热图”中删除“热图”,其中“转换(创建日期)= cast(@pipeline.triggetime.scheduletime as date)”
你能帮我掌握正确的语法吗。
发布于 2022-01-17 07:40:37
你似乎使用了不正确的变量
没有像
@pipeline.triggetime.scheduletime那样的变量
pipeline().TriggerTime是该管道被触发的实际时间,而不是触发计划时间!
示例: 2022-01-17T05:44:31.7534445Z
如果您想使用预定的时间(我不这么认为),那么实际上您必须使用这个@trigger().scheduledTime变量。
参考:调度触发范围
示例:
首先,将当前触发时间输入变量。
@substring(pipeline().TriggerTime,0,10)

预拷贝脚本中的查询如下所示:
declare @myvariable nvarchar(max) = @{variables('m')}
delete from POCtest where cast(ExecutedDate AS Date) = cast(@myvariable as date)

结果


根据使用的表模式和数据类型,可以参考强制转换和转换(Transact-SQL)进行更具体的转换。
https://stackoverflow.com/questions/70732704
复制相似问题