Azure 逻辑应用:当 SQL 查询不返回任何数据行时,将条件设置为 False

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

我如何有条件地测试执行 SQL 查询的输出以确保它返回一些数据行。

在下面的示例中,如果查询未返回任何行,我不希望它发送电子邮件,我想做其他事情。测试是什么?

What do i put here

感谢您的宝贵时间

azure-sql-database azure-logic-apps
4个回答
4
投票

我测试了一下,如果查询结果没有行,查询体会是这样的:

{
  "OutputParameters": {},
  "ResultSets": {}
}

因此您可以添加一个条件,其中

@{body('Execute_a_SQL_query')['OutputParameters']}
等于
{}
。如果是真的,就做你想做的事。您可以在
Code view
模式下进行设置。

enter image description here

以下是测试结果,希望这是你想要的。

enter image description here


3
投票

这将在 Query SQL V2 中工作。 它的作用是获取 ResultSet 并将其转换为字符串。这可以防止长度函数出现空错误。由于空结果集是 {},因此长度为 2。因此,如果长度为 2,则结果为空。

 "expression": {
                    "and": [
                        {
                            "equals": [
                                "@length(string(body('Execute_a_SQL_query_(V2)')?['ResultSets']))",
                                2
                            ]
                        }
                    ]
                }


0
投票

我在一个直到长度为零的条件下使用与此类似的方法。我想你也可以这样做吗?

@equals(length(body('Execute_a_SQL_query')?['value']), 0)


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