【问题标题】:Azure database - run azure stored procedure from Logic App with parameterAzure 数据库 - 从带有参数的逻辑应用程序运行 azure 存储过程
【发布时间】:2020-02-02 14:39:56
【问题描述】:

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

设置 ANSI_NULLS 为 ON

设置 QUOTED_IDENTIFIER ON

创建过程 [dbo].[UpdateLastProcessedSugarContacts] @ContactIds VARCHAR(8000)
作为
开始
更新联系人 SET LastProcessedSugar=GETDATE() WHERE ID IN (@ContactIds)
结束


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

【问题讨论】:

标签: sql database azure stored-procedures azure-logic-apps


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2019-08-27
    • 2020-05-27
    相关资源
    最近更新 更多