2012-03-30 2 views
1

У меня есть таблица, которая содержит index столбцы как accountno, opendate, name, address, и т.д.Как сделать несколько изменений в таблице сразу в SQL Server

Я хочу изменить открытую дату некоторых номеров счетов для определенного значения.

Как я могу это сделать сразу?

Смысл, я должен указать номер некоторых номеров счетов (более 100) на 01.01.1990.

Но номера счетов разные. Как я могу сделать это в одном запросе?

+3

Ответ на этот вопрос правильно. Но прежде чем внедрять, могу ли я предложить вам выбрать другое имя, кроме «индекса» для вашей таблицы? –

ответ

3

Не было бы чем-то вроде этой работы?

UPDATE 
    MyIndexTable 
SET 
    opendate = <desired date> 
WHERE 
    accountno IN (
    a1, a2, ..., a100 
); 

Если номера вашей учетной записи не удовлетворяют закрытой формуле, вы все равно должны выписать все 100 из них.

0

Один из способов сделать это - использовать список, разделенный запятой, или таблицу с идентификаторами записей, которые вы хотели бы изменить (это работает только, если вы устанавливаете их все на одно и то же значение). Вот пример с запятыми списка:

Update index 
    SET opendate = '1/1/1900' 
WHERE accountno IN (123, 456) 

вы также можете загрузить идентификаторы в таблицу, то этот запрос будет

update index 
    set opendate = '1/1/1900' 
WHERE accountno IN (SELECT accountno from acctnos_table) 

Опять это работает только, если вы устанавливаете все записи в тот же день.

Смежные вопросы