Обновление нескольких записей на сервере SQL - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь обновить таблицу клиентов на SQL Сервере, где мне нужно изменить дату истечения срока действия 450 различных клиентов.

Новая дата истечения срока действия должна быть одинаковой для всех 450 клиентов.

Я думаю что-то вроде:

UPDATE Clients
SET SmartCardExpiry = 20200123
WHERE ClientId IN (*ClientID's for all 450 clients separated by a comma*)

Это правильный способ сделать это?

1 Ответ

0 голосов
/ 23 января 2020

Как я вижу в вашем теле вопроса, вы пропускаете одиночную кавычку при передаче значений даты. Таким образом, это будет.

UPDATE Clients
SET SmartCardExpiry = '20200123'

Для передачи значений в условии, где через запятую можно использовать функцию STRING_SPLIT () .

WHERE ClientId IN (SELECT 
    value  
FROM 
    STRING_SPLIT('1, 2, 5', ','))

Хотя String_Split () недоступно в более низкой версии SQL Server, поэтому вам может потребоваться написать собственный запрос для отдельных и передать значения в условие where.

...