Как массовое обновление в SQL Server 2008 - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть таблица, которая содержит 10000 записей, теперь я добавил поле для размещения незашифрованного пароля, так что теперь я хочу обновить все записи, но должен обновить новое поле на основе имени пользователя ... как ниже.

update users set secdetail = case when username = 'abbas' then 'abbas@123' .... end

Я выполняю этот запрос из кода .net, используя sqlcommand, всякий раз, когда я пытаюсь обновить страницу после загрузки в течение некоторого времени, я получаю сообщение:

The query processor ran out of stack space during query optimization. Please simplify the query

Пожалуйста, помогите.

1 Ответ

1 голос
/ 09 ноября 2011

Почему бы не создать цикл в вашем коде .net для создания правильных операторов обновления SQL, разделенных точкой с запятой

Update Users Set Secdetail = 'abbas@123' Where Username = 'abbas';
Update Users Set Secdetail = 'bbbas@123' Where Username = 'bbbas';
Update Users Set Secdetail = 'cbbas@123' Where Username = 'cbbas';
...
...