База данных Azure - запустите хранимую процедуру Azure из приложения логики с параметром - PullRequest
0 голосов
/ 04 октября 2019

Я создал хранимую процедуру Azure для обновления столбца в таблице базы данных Azure. Он принимает идентификаторы строк в параметре VARCHAR.

SET ANSI_NULLS ONИДТИSET QUOTED_IDENTIFIER ONИДТИCREATE PROCEDURE [dbo]. [UpdateLastProcessedSugarContacts] @ContactIds VARCHAR (8000)КАКНАЧАТЬОБНОВЛЕНИЕ Контакта SET LastProcessedSugar = GETDATE () ГДЕ ИД В (@ContactIds)КОНЕЦ

GO

Когда я вызываю эту процедуру из приложения логики, которое отправляет в параметре строку, разделенную запятыми, оно не обновляет строки, потому что я считаю, что оно добавляет одинарные кавычки до и после ввода и идентификаторстолбец является целым. Есть ли способ сравнить столбец идентификатора в хранимой процедуре с оператором IN? Мой вклад будет выглядеть как 186,192,193

1 Ответ

0 голосов
/ 04 октября 2019

Если вы настаиваете на передаче в списке через запятую, разделите значение:

UPDATE Contact
    SET LastProcessedSugar = GETDATE()
    WHERE ID IN (SELECT * FROM STRING_SPLIT(@ContactIds, ','));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...