首页 > 解决方案 > 天蓝色逻辑应用程序 - 检查存储过程结果是否为空

问题描述

在 Azure 逻辑应用程序中,我正在运行 EXECUTE STORED PROCEDURE (V2),如果没有返回数据,我想检查结果。以下是没有返回结果时的结果正文。如何在逻辑应用程序中检查这一点?

我已尝试在此处输入链接描述,但仍然无法正常工作。

截屏

更新...所以我做了一个字符串变量,然后将sql的结果附加到这个字符串变量中。然后我计算长度,如果它为 2,则结果为空白,如果它不是 2,则它有数据。

这是一种有效的方法还是有更简单的方法?

标签: azure-logic-apps

解决方案


我们可以使用"@{body('Execute_stored_procedure_(V2)')?['resultsets']?['Table1']}"等于"[]"添加一个条件。如果为真[表示没有记录],请做你想做的事情。我们可以在代码视图模式中设置它。

例子 :

如果 SP 结果一些行,查询正文将是这样的:

{
  "ResultSets": {
    "Table1": [
      {
        "s_no": 1
      },
      {
        "s_no": 2
      }
    ]
  },
  "ReturnCode": 0,
  "OutputParameters": {}
}

带有上述示例结果集的示例 sp 逻辑是: 在此处输入图像描述

如果 SP 结果没有行,查询正文将如下所示:

{
  "ResultSets": {
    "Table1": []
  },
  "ReturnCode": 0,
  "OutputParameters": {}
}

上述示例没有结果集的示例 sp 逻辑是: 在此处输入图像描述

上面使用的SP和图片只是为了便于理解。

逻辑应用的代码视图-表达式如下:

        "expression": {
            "and": [
                {
                    "equals": [
                        "@{body('Execute_stored_procedure_(V2)')?['resultsets']?['Table1']}",
                        "[]"
                    ]
                }
            ]
        },

推荐阅读