Обновить несколько строк в SQL Server - PullRequest
0 голосов
/ 09 октября 2009

Мой стол выглядит так:

c1 c2 c3
a   1 2000
a   2 2001
a   3 3000
a   4 3001
a   5 3002

Шаг 1: удалить строки, где c3 = 2000, 2001

Delete table where c3 like '2___' 

Шаг 2: изменить 3000 на 2000, 3001 на 2001, 3002 на 2002 и т. Д.

Я застрял здесь. Буду признателен за любые указатели или примеры.

Ответы [ 3 ]

4 голосов
/ 09 октября 2009

Предполагая, что ваш столбец C3 является строкой (вы не говорите):

delete MyTable where c3 like '2%'
update MyTable set c3 = '2' + substring(c3, 2, len(c3) - 1) where c3 like '3%'

Предполагается, что ваш столбец C3 является целым числом:

delete MyTable where c3 between 2000 and 2999
update MyTable set c3 = c3 - 1000 where c3 between 3000 and 3999
2 голосов
/ 09 октября 2009
  1. DELETE tablename WHERE c3 in (2000, 2001)

    DELETE tablename WHERE c3 LIKE '2%'

  2. UPDATE tablename SET c3 = c3 - 1000

0 голосов
/ 09 октября 2009

попробовать:

DELETE yourtable where c3 in (2000,2001)

UPDATE yourtable
    set C3=C3-1000 
    WHERE  c3>=3000 AND c3<4000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...