Спасибо, что прошли мимо. Я знаю синтаксис basi c SQL и, похоже, не могу найти способ выполнить sh эту задачу.
Мне нужно создать хранимую процедуру, которая вставляет данные из одной таблицы в другую, извлекая данные из многих других. Предположим, у меня есть эти таблицы со столбцами:
users
- name (varchar)
- sub_id (int)
- dub_id (int)
tmp_users
- name (varchar)
- sub_name (varchar)
- dub_name (varchar)
subs
dubs
Переведенный в псевдокод, я должен сделать что-то вроде этого:
INSERT INTO users (name, sub_id, dub_id)
ALL ROWS FROM tmp_users VALUES (
name = tmp_users.name,
sub_id = SELECT id FROM subs WHERE tmp_users.sub_name = subs.name,
dub_id = SELECT id FROM dubs WHERE tmp_users.dub_name = dubs.name,
)
В формулировке мне нужно вставить в users
все строки из tmp_users
, чтобы сохранить столбец tmp_users.name
, но получить афферентные id
всех других таблиц на основе столбца *_name
. Как мне подойти к этой задаче?