Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Как обновить половину записей?  [new]
shmelina
Member

Откуда:
Сообщений: 464
Есть способ?
update table
set field = 1
where ?
5 фев 19, 11:44    [21801809]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
Vlad F
Member

Откуда:
Сообщений: 926
shmelina,

Сессия? Приписать снизу нужное число ROWS.
5 фев 19, 11:59    [21801821]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4010
shmelina,

Если записей нечетное кол-во - то никак.
А если четное или достаточно примерно половину - то лучше как выше ответили. Или, еще хуже, в цикле, проверяя "номер записи" на модуль двойки.
5 фев 19, 13:50    [21801921]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
Шавлюк Евгений
Member

Откуда: Одесса
Сообщений: 484
shmelina,

merge into table t
using (select id, mod(row_number() over (order by id), 2) n
       from table) c on c.n = 0 and c.id = i.id
when matched then
  update set field = 1
5 фев 19, 14:27    [21801945]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
Vlad F
Member

Откуда:
Сообщений: 926
Шавлюк Евгений,

Ужас, что творите. Преподавателя кондрашка хватит.))
5 фев 19, 14:55    [21801976]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8375
не хватает только order by random()
5 фев 19, 15:26    [21801997]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
shmelina
Member

Откуда:
Сообщений: 464
Vlad F
Сессия? Приписать снизу нужное число ROWS.

Можно подробнее? Нужно половину клиентов перекинуть с одного менеджера на другого.
5 фев 19, 15:39    [21802005]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
Vlad F
Member

Откуда:
Сообщений: 926
shmelina,

Можно RTFM:
https://www.firebirdsql.org/refdocs/langrefupd21-update.html
5 фев 19, 15:46    [21802014]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 16648
shmelina,

Ааа, а мы подумали, уволить половину сотрудников. Никто не любит неудачников.

Давай ещё расскажи, что все клиенты одинаковые, и делёж будет равноценным.
5 фев 19, 15:46    [21802015]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
KreatorXXI
Member

Откуда: Москва
Сообщений: 812
Да всё логично. Сортировка клиентов по алфавиту и у половины поменять менеджера. Правильное использование "rows".
5 фев 19, 16:01    [21802026]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8375
KreatorXXI
Сортировка клиентов по алфавиту
Почему не по ИНН или по величине оборота за истекший месяц?
5 фев 19, 16:07    [21802030]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
KreatorXXI
Member

Откуда: Москва
Сообщений: 812
Ivan_Pisarevsky,

Условность. Логичнее по местонахождению. Наверняка там есть некая правильная схема переброски клиентов. Хочется в это верить во всяком случае.
5 фев 19, 16:16    [21802038]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4010
WildSery
Давай ещё расскажи, что все клиенты одинаковые, и делёж будет равноценным.
Ну вот, для наибольшей честности random уже предлагали :)
5 фев 19, 17:22    [21802099]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
shmelina
Member

Откуда:
Сообщений: 464
Vlad F
Можно RTFM:
https://www.firebirdsql.org/refdocs/langrefupd21-update.html
Спасибо! То, что нужно.
5 фев 19, 20:52    [21802209]     Ответить | Цитировать Сообщить модератору
 Re: Как обновить половину записей?  [new]
Arioch
Member

Откуда:
Сообщений: 11038
YuRock,

md5 от RDB$DB_KEY !
8 фев 19, 15:58    [21804524]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить