Azure 数据库 - 运行 来自 Logic App 的带有参数的 azure 存储过程

Azure database - run azure stored procedure from Logic App with parameter

我创建了一个 azure 存储过程来更新 azure 数据库中的列 table。它采用 VARCHAR 参数中的行 ID。

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateLastProcessedSugarContacts] @ContactIds VARCHAR(8000)
AS
BEGIN
UPDATE Contact SET LastProcessedSugar=GETDATE() WHERE ID IN (@ContactIds)
END

GO

当我从在参数中发送逗号分隔字符串的逻辑应用程序调用此过程时,它不会更新行,因为我相信它会在输入前后添加单引号,并且 ID 列是一个 INTEGER .有没有办法将存储过程中的 ID 列与 IN 运算符进行比较?我的输入将是 186,192,193

如果你坚持要传入一个逗号分隔的列表,那么拆分值:

UPDATE Contact
    SET LastProcessedSugar = GETDATE()
    WHERE ID IN (SELECT * FROM STRING_SPLIT(@ContactIds, ','));