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

Откуда: http://city-afisha.com
Сообщений: 692
Всем привет!!! Ребята помогите составить запрос...

MS SQL 2008

Есть таблица таб1, поле филиал, поле фио. Сейчас она заполнена таким образом:

поле 1 (чар) - название филиала (уникально)
поле 2 (фио) - в каждой записи свои значения


имеется одинаковый текст - "Филиал3"
этот текст нужно прибавить к существующим значениям каждой строки - поле 2 (фио)

например:

сейчас
филиал1, семенов
филиал 1, ватутин

а необходимо:
филиал1, семенов. Филиал3
филиал 1, ватутин. Филиал3


В запросах не очень силен, первое что пришло это:

set фио = фио + ". Филиал3"


но не думаю что он будет работать, так как фамилии все разные.... тут возможно курсором нужно... но с ним я вообще никогда не работал.... в табл 50 000 записей.

Спасибо за помощь.
5 сен 12, 16:14    [13118918]     Ответить | Цитировать Сообщить модератору
 Re: Обновить (к существующему значению добавить еще) каждую запись таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Sputnick
но не думаю что он будет работать, так как фамилии все разные

что мешает попробовать ?
5 сен 12, 16:16    [13118935]     Ответить | Цитировать Сообщить модератору
 Re: Обновить (к существующему значению добавить еще) каждую запись таблицы  [new]
Sputnick
Member

Откуда: http://city-afisha.com
Сообщений: 692
Glory
Sputnick
но не думаю что он будет работать, так как фамилии все разные

что мешает попробовать ?


на реальной базе как то стремно, можно бэкап поднять на соседней машине, но это пару часов их нет и нужно уже сейчас
5 сен 12, 16:17    [13118951]     Ответить | Цитировать Сообщить модератору
 Re: Обновить (к существующему значению добавить еще) каждую запись таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Sputnick
на реальной базе как то стремно,

Про какую базу вы говорите ?
Достаточно одной тестовой таблицы. В любой базе
5 сен 12, 16:19    [13118962]     Ответить | Цитировать Сообщить модератору
 Re: Обновить (к существующему значению добавить еще) каждую запись таблицы  [new]
gang
Member

Откуда:
Сообщений: 1394
Sputnick
Glory
пропущено...

что мешает попробовать ?


на реальной базе как то стремно, можно бэкап поднять на соседней машине, но это пару часов их нет и нужно уже сейчас


Для попробовать:
create table mytable (id int identity, myFiled varchar(4000) )
set nocount on
declare @n int
set @n=100; --Требуемое количество строк.
with cte (v) as 
(select 1 v union all select v+1 from cte where v<@n  ) 
insert into mytable 
select 
 'Some string'+CONVERT(varchar(8),v) as myFiled --varchar
from cte OPTION (MAXRECURSION 0)


select top 10 * from mytable where id<=10
begin tran 
update top (10) mytable set myFiled=myFiled+'. new string'  where id <=10
select top 10 * from mytable where id<=10
rollback
select top 10 * from mytable where id<=10
5 сен 12, 16:34    [13119100]     Ответить | Цитировать Сообщить модератору
 Re: Обновить (к существующему значению добавить еще) каждую запись таблицы  [new]
Sputnick
Member

Откуда: http://city-afisha.com
Сообщений: 692
Glory
Sputnick
на реальной базе как то стремно,

Про какую базу вы говорите ?
Достаточно одной тестовой таблицы. В любой базе


спасибо, так и сделал, результат следующий:

в тех полях, где поле - поле 2 (фио) было пустым, оно вставило необходимый текст - "Филиал3"

те же записи, в которых уже было заполнено поле 2 (фио) - иванов или петров и т д оно не затронуло О_о

сделал следующее:

set фио = фио + ". втрой апдейт Филиал3"


результат:

в изначально (до первого апдейта пустых полях) в колонке поле 2 (фио) оно прибавило к текущему тексту новый:

"Филиал3. втрой апдейт Филиал3 "

а изначально заполнение поля опять таки не тронуло... как это понимать?
5 сен 12, 16:37    [13119142]     Ответить | Цитировать Сообщить модератору
 Re: Обновить (к существующему значению добавить еще) каждую запись таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Sputnick
сделал следующее:

set фио = фио + ". втрой апдейт Филиал3"

Всю остальную часть запроса нужно придумать самим ?
5 сен 12, 16:42    [13119206]     Ответить | Цитировать Сообщить модератору
 Re: Обновить (к существующему значению добавить еще) каждую запись таблицы  [new]
Sputnick
Member

Откуда: http://city-afisha.com
Сообщений: 692
Sputnick,

сори, тупанул чуток, поле в котором были изначально фио слишком длинные (много информации), раздвинул их и там в конце мой новый текст.


Glory спасибо, записал себе как можно откат делать )
5 сен 12, 16:43    [13119217]     Ответить | Цитировать Сообщить модератору
 Re: Обновить (к существующему значению добавить еще) каждую запись таблицы  [new]
Sputnick
Member

Откуда: http://city-afisha.com
Сообщений: 692
Glory
Sputnick
сделал следующее:

set фио = фио + ". втрой апдейт Филиал3"

Всю остальную часть запроса нужно придумать самим ?


там все есть и все стандартно, для экономии не писал)

все работает, спасибо тебе
5 сен 12, 16:44    [13119221]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить