Azure Synapse 数据流 - 无法在 Pre SQL 脚本中使用参数

问题描述 投票:0回答:1

在我的接收器中,我正在运行 Pre SQL 脚本来删除特定日期后的数据,但我在使用脚本中的参数时遇到问题。

enter image description here

这是我的数据流中的日期参数变量,下面是我的管道参数和 SQL 脚本

enter image description here

DELETE FROM dbo.DAP_WD_Timecard_Analysis_Test WHERE Reported_Date > '{$date}'

这是我在下面收到的错误。我尝试使用 Date 类型而不是 String 来获得相同的结果。当我对日期进行硬编码时,这有效。

enter image description here

sql-server azure azure-sql-database google-cloud-dataflow azure-synapse-analytics
1个回答
0
投票

enter image description here

要解决上述错误,您可以在预复制脚本中使用以下表达式。您的参数数据类型应该是字符串。

concat('delete from dbo.table1 where mydate >','\'',$date_param,'\'')

打开表达式生成器并给出上述表达式。

enter image description here

这是我在数据流执行之前的输入数据:

enter image description here

您可以在数据流执行后看到提到的行已被删除。在这里,我在数据流中使用了相同的表作为源和接收器,因此在我的情况下会有重复,您可以忽略。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.