У меня есть список объектов Integer в моей программе Spring Boot, которые я хочу использовать в качестве ссылки для обновления таблицы, устанавливая только столбец с определенным значением для записей с идентификатором, найденным в этом списке.Из-за потенциальной длины списка я хочу избегать использования предложения IN, поскольку это может привести к ошибке SQL Server для слишком большого числа параметров.
Решение, о котором я думаю, включает запрос, подобный следующему:
WITH ids as (select * from <list of Integers> as pool(num))
update t set t.column = :value from <table> t, ids where t.id = ids.num
Проблема, с которой я сталкиваюсь, заключается в переносе каждого целого числа в списке в VALUE (), т.е.:
WITH ids as (select * from value(1),value(2),...etc)
Хотя мне кажется, что я могу эту строку запроса программным путем, перебирая список в Java, я бы действительно хотел бы избежать этого, если это возможно.Я попытался найти решение, но не смог найти то, что искал.Есть ли решение для этого?