Azure 逻辑应用程序:当 SQL 查询 returns 没有数据行时将条件设置为 False
Azure Logic Apps: Set condition to False when SQL query returns no rows of data
我如何有条件地测试执行 SQL 查询的输出以确保它 returns 一些数据行。
在我下面的示例中,如果查询 returns 没有行,我不希望它发送电子邮件,我想做其他事情。什么是测试?
感谢您的宝贵时间
我测试了一下,如果查询结果是没有行,查询体是这样的:
{
"OutputParameters": {},
"ResultSets": {}
}
因此您可以添加一个 @{body('Execute_a_SQL_query')['OutputParameters']}
等于 {}
的条件。如果是真的,做你想做的事。你可以在 Code view
模式下设置它。
下面是测试结果,希望这是你想要的。
我在直到长度为零的 until 条件中使用类似的方法。我想你也可以这样做?
@equals(length(body('Execute_a_SQL_query')?['value']), 0)
这将适用于查询 SQL V2。
所做的是获取 ResultSet 并转换为字符串。这可以防止长度函数出现空错误。由于空结果集为{},长度为2。因此如果长度为2,则结果为空。
"expression": {
"and": [
{
"equals": [
"@length(string(body('Execute_a_SQL_query_(V2)')?['ResultSets']))",
2
]
}
]
}
我如何有条件地测试执行 SQL 查询的输出以确保它 returns 一些数据行。
在我下面的示例中,如果查询 returns 没有行,我不希望它发送电子邮件,我想做其他事情。什么是测试?
感谢您的宝贵时间
我测试了一下,如果查询结果是没有行,查询体是这样的:
{
"OutputParameters": {},
"ResultSets": {}
}
因此您可以添加一个 @{body('Execute_a_SQL_query')['OutputParameters']}
等于 {}
的条件。如果是真的,做你想做的事。你可以在 Code view
模式下设置它。
下面是测试结果,希望这是你想要的。
我在直到长度为零的 until 条件中使用类似的方法。我想你也可以这样做?
@equals(length(body('Execute_a_SQL_query')?['value']), 0)
这将适用于查询 SQL V2。 所做的是获取 ResultSet 并转换为字符串。这可以防止长度函数出现空错误。由于空结果集为{},长度为2。因此如果长度为2,则结果为空。
"expression": {
"and": [
{
"equals": [
"@length(string(body('Execute_a_SQL_query_(V2)')?['ResultSets']))",
2
]
}
]
}