2016-02-15 2 views
0

Я только что выполнили большее количество операторов обновления (500) в SQL Server, как показано нижеКак управлять огромным количеством операторов UPDATE в SQL Server

update di_artikel 
set beschaffungszeit_intern = '14' 
where nr = '0.600.910.0L09631' 

update di_artikel 
set beschaffungszeit_intern = '14' 
where nr = '0.600.910.1L09631' 

update di_artikel 
set beschaffungszeit_intern = '14' 
where nr = '0.600.910.2L09631' 

update di_artikel 
set beschaffungszeit_intern = '14' 
where nr = '0.600.910.4L09631' 

update di_artikel 
set beschaffungszeit_intern = '14' 
where nr = '0.600.910.5L09631' 

update di_artikel 
set beschaffungszeit_intern = '14' 
where nr = '0.600.910.8L09631' ...... more 

я получил результат, как (1 ряд (ов) пострадавших) или (0 строк (-ов)).

0 строк означает, что некоторые материалы (nr) не выполняются. Причина этого в некоторых материалах не в таблице di_artikel.

НО НО НУЖНО НАЙТИ УСПЕШНЫЕ МАТЕРИАЛЫ ООН, КАК Я НУЖДАЮТСЯ?

+0

Может быть, со случаем, когда Постулаты. Можете ли вы более подробно рассказать о своем вопросе. – dpfauwadel

+0

вы можете проверить после каждого обновления 'if @@ ROWCOUNT = 0' –

ответ

0
with cte 
as 
(
select 
* from table where nr in ('keep all your inputs') 
) 
update cte 
output inserted.* 
set nr ='whatever value' 

вставлена. * Дает только то, что обновленное значение, которое поможет вам в понимании, какие строки должны обновляться

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