Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно вставить строки 
:(
    Опции темы
sol78
Дата 9.7.2008, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 7.7.2007

Репутация: нет
Всего: 0



помогите написать query MSSQL, DB2
есть таблица Tabla с праймери кей  - stage....
нужно вставить  несколько строк из етойже таблици в определенное место етой таблици.
Причем, нужно обновить и stage т.е
stage    val1  val2  val2
1           xxx    yyy   zzz
2           xxx1  yyy1  zzz1
3           xxx2  yyy2  zzz2
4           xxx3  yyy3  zzz3
5           xxx4  yyy4  zzz4
6           xxx5  yyy5  zzz5
 

ресультат должен быть

stage    val1  val2  val2
1           xxx    yyy   zzz
2           xxx1  yyy1  zzz1
3           xxx2  yyy2  zzz2
4           xxx3  yyy3  zzz3
5           xxx4  yyy4  zzz4

6           xxx3  yyy3  zzz3
7           xxx4  yyy4  zzz4
8           xxx5  yyy5  zzz5

как ето можно сделать?
PM MAIL   Вверх
chief39
Дата 9.7.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: нет
Всего: 77



Если всё как написано - тогда от верхней границы "сдвига" волной сдвинуть ВСЮ ТАБЛИЦУ по stage.
Т.е. для каждой записи начиная с самого большого значения стэйдж:
stage = stage + N (N - количество копируемых записей)

Потом селект необходимых записей и инсерт со значением stage+N(место уже будет освобождено)
Я просто офигеваю от нагрузки при такой операции. Какой физический смысл? Нельзя ли что-то другое придумать? Без массовых апдейтов примари ки?

ЗЫ: Рабочий размер таблицы какой?





--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Akina
Дата 9.7.2008, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(sol78 @  9.7.2008,  15:43 Найти цитируемый пост)
праймери кей  - stage

Цитата(sol78 @  9.7.2008,  15:43 Найти цитируемый пост)
нужно обновить и stage 

Так никто не делает - это плевок в душу системы поддержания целостности БД. 
Не трогай primary key, заведи отдельное поле stage и издевайся над ним сколько влезет.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.