powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / SQL запрос?
10 сообщений из 10, страница 1 из 1
SQL запрос?
    #33108507
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблице допустим 5 записей с ID=1...5

Как написать SQL запрос для добавления новой записи после записи с ID=2
...
Рейтинг: 0 / 0
SQL запрос?
    #33108551
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sfsfВ таблице допустим 5 записей с ID=1...5

Как написать SQL запрос для добавления новой записи после записи с ID=2

Уважаемый,
Во-первых, здесь форум не по SQL, а по С++;
Во-вторых, позвольте у Вас спросить: знаете ли Вы теорию SQL.
Если "нет", то я Вам расскажу, если "да", то напомню:
- SQL (по определению) оперирует с множествами и ему безразличен порядок следования элементов этого множества (т.е. упорядоченность). Поэтому новая запись может появиться в любом месте...
- Другое дело, что могут использоваться индексы (или ORDER BY в запросах SELECT), при помощи которых обеспечивается ЛОГИЧЕСКАЯ упорядоченность элементов (речи о ФИЗИЧЕСКОЙ упорядоченности не идет...)
...
Рейтинг: 0 / 0
SQL запрос?
    #33108575
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это все понятно.

Тогда вопрос такой. Как реализовать добавление записи и переиндексацию всех записей.

Было
Id=1
Id=2
Id=3
Id=4
Id=5

Нужно добавить запись Логически после ID=2 и переиндексировать все записи
...
Рейтинг: 0 / 0
SQL запрос?
    #33108577
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поле ID не автоинкрментрое
...
Рейтинг: 0 / 0
SQL запрос?
    #33108648
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рецепт щастья:
1. не заниматься фигней.
2. если уж приходится, то сначала увеличь все ИД>2, потом добавь запись с ИД=2
...
Рейтинг: 0 / 0
SQL запрос?
    #33108679
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sfsfэто все понятно.

Тогда вопрос такой. Как реализовать добавление записи и переиндексацию всех записей.

Добавление записи: insert into <таблица> [[(<список полей>)] [value (<значения>)]] | [select...from...]
(если я, конечно, правильно понял вопрос...)
Если требуется более подробно - смотрите мануалы по соответствующей СУБД...
А переиндксация идет автоматически (если индекс, конечно, существует)

sfsf
Было
Id=1
Id=2
Id=3
Id=4
Id=5
Нужно добавить запись Логически после ID=2 и переиндексировать все записи

Так вроде бы "Логически после ID=2" следует id=3...

Мне это напоминает монолог одного юмориста про два девятых вагона:
"...Рабочие, которые отцепляли девятый вагон, тоже были люди неглупые и тоже умели считать до десяти. И тоже знали, что девятый - это тот, который после восьмого, а не тот, который перед десятым..."
...
Рейтинг: 0 / 0
SQL запрос?
    #33109037
Tracer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача кстати, вполне реальная, зря вы набросились. Например хранятся документы в дереве/списке и пользователь меняет порядок их вывода.

Решается, как и говорил Карабас Барабас -
update Table set ID = ID + 1 where ID >= 2
insert into Table( ID, .... ) values ( 2, .... )
...
Рейтинг: 0 / 0
SQL запрос?
    #33110080
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
update Table set ID = ID + 1 where ID >= 2
insert into Table( ID, .... ) values ( 2, .... )



Вот это решение мне подходит. Надеюсь ADOQuery справиться с запросом
update Table set ID = ID + 1 where ID >= 2
...
Рейтинг: 0 / 0
SQL запрос?
    #33110083
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь
...
Рейтинг: 0 / 0
SQL запрос?
    #33110118
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sfsfэто все понятно.

Тогда вопрос такой. Как реализовать добавление записи и переиндексацию всех записей.

Было
Id=1
Id=2
Id=3
Id=4
Id=5

Нужно добавить запись Логически после ID=2 и переиндексировать все записи
Одному программисту начальник ставил задачу - "Мне не нравится что моя фамилия на "M" идёт в списках последняя. Приказ изменить БД чтобы я был первый а мой тесть второй".
)))))))))))))))))))))))))))))))
IMHO некрасиво это.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / SQL запрос?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]