Azure 逻辑应用程序可以调用具有多个 select 语句的存储过程吗?

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

我试图查明Azure 逻辑应用程序是否能够迭代存储过程中的选择语句。我已经创建了我的逻辑应用程序,它传递一个字符串以传递给存储过程。

这个逻辑应用程序正在工作,因为我得到了第一个 select 语句的结果,但无法到达其余的结果。

enter image description here

我的 SQL 示例:

SELECT AIP.*
FROM Item_Price AS AIP
WHERE IP.id = @Parameter

SELECT AII.*
FROM Item_Identification AS II
WHERE II.id = @Parameter

SELECT CP.*
FROM Catalogue_Price AS CP
WHERE CP.id = @Parameter

目前我正在取回尸体

{
  "ResultSets": {
    "Table1": [
      {
        "id": "123",
        "price": "123.00"
        "name": "test Item"
      }
    ]
  },
  "OutputParameters": {}
}

我缺少存储过程中接下来两个 select 语句的结果,有没有办法可以迭代并获取其余数据,或者逻辑应用程序无法执行此操作?

azure stored-procedures azure-logic-apps
1个回答
0
投票

我确实同意,如果您使用本地 sql,则只会返回第一个 select 语句输出,因为这是连接器的限制

当前对 SQL 本机查询执行的多结果集支持受到限制。仅返回结果集,直到第一个空结果集为止

如果您不使用本地部署,那么您将获得包含所有返回的输出,以下是我的设计:

enter image description here

Sql 存储过程:

CREATE PROCEDURE RithTest
AS
BEGIN
    SELECT TOP (1000) * FROM [dbo].[T3] AS RR WHERE RR.id = 2;
    SELECT TOP (1000) * FROM [dbo].[T2] AS BC WHERE BC.SNO = 2;
    
END;

enter image description here

输出:

{
  "Table1": [
    {
      "ID": 2,
      "Month": "2024-05-01T00:00:00",
      "Condition1": "2024-05-01T00:00:00",
      "Condition2": "2024-05-31T00:00:00"
    }
  ],
  "Table2": [
    {
      "SNO": 2,
      "Name": "Rithwik"
    }
  ]
}

enter image description here

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