powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / insert
4 сообщений из 4, страница 1 из 1
insert
    #39502271
kunjut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.
Так как SQL для меня пока ещё тёмный лес, вопрос, вероятно, тупой.
Опишу человеческим языком.
Есть простейшая таблица, назовём её ref_table, два столбца, один, например, name типа text, другой id типа int.
Требуется делать вставку строк в _другую_ таблицу, в которой есть аналогичный столбец id типа int, и при вставке строки надо "резольвить" соответствующий id из таблицы ref_table, ибо при вставке нет конкретного id, но есть текстовый аргумент, который можно и нужно сопоставлять с одной из строк таблицы ref_table.
Как это делается ? Простейший пример, плз. Вся документация, ессно, доступна, но в голову помещается не всё и не сразу.
Спасибо.
...
Рейтинг: 0 / 0
insert
    #39502329
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kunjut,

Код: sql
1.
insert tablename (id) select id from ref_table where name = ?
...
Рейтинг: 0 / 0
insert
    #39502336
kunjut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, попробую :)
А в такой форме insert, как:
insert tablename (id) values (..),(..)....; - будет ли "select id from ref_table .." из вашего примера работать достаточно быстро ? Суть вопроса в том, что у меня будет добавляться порядка 40 млн. строк, и я SQL скрипт разбиваю на блоки insert с, например, 5000 "values" - вроде как это работает быстрее, чем одиночные insert-ы. И вот думаю, если в values вставлять select-ы - это будет быстрый вариант ?... Что нибудь типа prepared statement бы было классно, но даже не представляю, как сюда это прикрутить вообще.
...
Рейтинг: 0 / 0
insert
    #39502346
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kunjut,

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


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