Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Скриптом переименовать записи в столбце.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
Добрый день! Есть одна таблица, в которой находится столбец 'name'. Можно каким то скриптом переименовать записи ЦЗ_1, чтобы в каждой строке прибавлялось на +1. Т.е я в приложении бы наделал бы много ЦЗ_1 (предположительно 400 строк, накидывать буду из приложения), запустил скрипт который сделает мне от ЦЗ_1 до ЦЗ_400. Насколько такой скрипт сложно написать ? Кажется это называется рекурсия ? Спасибо.
13 май 14, 19:05    [16011981]     Ответить | Цитировать Сообщить модератору
 Re: Скриптом переименовать записи в столбце.  [new]
Genniy
Member

Откуда:
Сообщений: 141
Ondayl,
1. Можно курсором
2. Можно одним запросом на update. В set поставь подзапрос, который будет выбирать предыдущее значение и добавляй единицу
13 май 14, 19:16    [16012027]     Ответить | Цитировать Сообщить модератору
 Re: Скриптом переименовать записи в столбце.  [new]
invm
Member

Откуда: Москва
Сообщений: 9838
with x as
(
 select
  name, row_number() over (order by char('a')) as rn
 from
  [Есть одна таблица]
 where
  name = 'Ц3_1'
)
update x
 set
  name = replace(name, '1', cast(rn as varchar(10)));
13 май 14, 19:19    [16012047]     Ответить | Цитировать Сообщить модератору
 Re: Скриптом переименовать записи в столбце.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
Genniy, какой путь будет самым коротким ?

invm, обработано 0 строк :-(
13 май 14, 19:33    [16012122]     Ответить | Цитировать Сообщить модератору
 Re: Скриптом переименовать записи в столбце.  [new]
invm
Member

Откуда: Москва
Сообщений: 9838
Ondayl
обработано 0 строк
Значит нет записей с name = 'Ц3_1'
13 май 14, 19:44    [16012195]     Ответить | Цитировать Сообщить модератору
 Re: Скриптом переименовать записи в столбце.  [new]
Genniy
Member

Откуда:
Сообщений: 141
Ondayl
Genniy, какой путь будет самым коротким ?

invm, обработано 0 строк :-(


Ответ invm лучше всего. Он самый быстрый.
Действительно получается, что в твоей таблице нет записи ЦЗ_1.
Можешь дать выборку таблицы, где ты видишь данное значение?
13 май 14, 19:48    [16012230]     Ответить | Цитировать Сообщить модератору
 Re: Скриптом переименовать записи в столбце.  [new]
Ondayl
Member

Откуда:
Сообщений: 229
Genniy, разобрался, извините, забыл предупредить, там не тройка, а русская З.

invm, спасибо вам огромное! Успехов!

Спасибо всем за оперативные ответы, буду изучать T-SQL :-)
13 май 14, 19:56    [16012272]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить