powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ненужная сортировка при копировании
8 сообщений из 8, страница 1 из 1
Ненужная сортировка при копировании
    #38778489
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую.

Использую: PostgreSQL 9.3 на Windows 7

Заполнял справочник имен.
1. При помощи COPY вставлял в промежуточную таблицу данные из csv
2. Из промежуточной переносил запросом: INSERT INTO name_list SELECT id, data FROM souce_csv;
Все вставилось.

При выгрузке наружу и сверке обнаружил, что во время insert'а нарушился порядок следования строк в целевой таблице.
Таблицы смотрел, разница именно между name_list и source_csv.
Кроме запроса делал full vacuum analize так как pgadmin попросил сделать его, но это не должно было оказать такое влияние.

Внимание вопрос: - Уважаемые знатоки, чем можно заставить инсерт не менять порядок следования строк?
...
Рейтинг: 0 / 0
Ненужная сортировка при копировании
    #38778507
Лопата
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PAPA_RimskY,
в таблице нет "порядка следования строк"

напишите это 100тысячмиллионовмиллиардов раз на доске
и не приставайте к людям
...
Рейтинг: 0 / 0
Ненужная сортировка при копировании
    #38778650
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лопата,

спасибо.

то есть и copy не поможет это сохранить?
...
Рейтинг: 0 / 0
Ненужная сортировка при копировании
    #38778658
Ы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ы
Гость
PAPA_RimskY,

Ничто не поможет. Если сортировка не задана явно в запросе, порядок выдачи строк не определен, т.е. совершенно нормально при последовательных одинаковых запросах без сортировки получать одни и те же строки в разном порядке, особенно, если между ними были какие-то операции с таблицей.
...
Рейтинг: 0 / 0
Ненужная сортировка при копировании
    #38778700
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ы,

значит буду думать как иначе реализовать задачу.)
...
Рейтинг: 0 / 0
Ненужная сортировка при копировании
    #38778708
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PAPA_RimskYЫ,

значит буду думать как иначе реализовать задачу.)

вы задачу обьясните лучше... а то опять велосипед изобретете :)

--Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Ненужная сортировка при копировании
    #38778758
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,

Есть три таблицы(справочника): идентификаторы объектов, имена объектов и связующая таблица.
Задача вставить и связать все данные.
Проблемы:
1. У объектов может быть от одного до 6 имен
2. Объектов больше 2 тысяч и ручками сопоставлять как-то не круто.

Пробовал:
Загрузить данные из csv во временную таблицу(дополнительные имена в соответствии с типом в своих колонках). При переносе в основной справочник увидел, что не могу быть уверен в порядке следования строк в нем. Т.к. хотел связующую таблицу экселем делать(а если имена перемешиваются это все усложняет), как это сделать еще проще пока не догадался.

Код таблиц:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
CREATE TABLE identifier_list
(
  id integer NOT NULL DEFAULT nextval('seq_identifier_list'::regclass),
  comment character varying(255),
  CONSTRAINT identifier_list_pkey PRIMARY KEY (id)
)

CREATE TABLE name_list
(
  id integer NOT NULL DEFAULT nextval('seq_name_list'::regclass),
  name character varying(255) NOT NULL,
  CONSTRAINT name_list_pkey PRIMARY KEY (id)
)

CREATE TABLE identifier_list_x_name_list
(
  identifier_list_id integer NOT NULL,
  name_list_id integer NOT NULL,
  CONSTRAINT identifier_list_x_name_list_pkey PRIMARY KEY (identifier_list_id, name_list_id),
  CONSTRAINT identifier_list_x_name_list_identifier_list_id_fkey FOREIGN KEY (identifier_list_id)
      REFERENCES identifier_list (id) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE,
  CONSTRAINT identifier_list_x_name_list_name_list_id_fkey FOREIGN KEY (name_list_id)
      REFERENCES name_list (id) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE NO ACTION
)
...
Рейтинг: 0 / 0
Ненужная сортировка при копировании
    #38785146
PAPA_RimskY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дабы закрыть тему:

Проблему решил экселем, сделал список для каждого типа имен и связал его с айдишником полученным после воздействия COPY на список имен. А потом подсунул полученные столбики цифр в таблицу связи.

Теперь видимо нужно триггер или хранимку писать для случая добавления новых комплектов данных.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ненужная сортировка при копировании
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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