У меня есть таблица TMP_FOO, в которой есть те же столбцы, что и в FOO, и еще немного. Мне нужно вставить все строки из TMP_FOO в FOO. Я мог бы написать следующее:
INSERT INTO FOO (SELECT bar, baz FROM TMP_FOO);
Но мне нужно, чтобы оно было обобщенным c, чтобы я мог только изменять имя таблиц. Моя лучшая попытка:
INSERT INTO FOO
(SELECT
(SELECT column_name
FROM USER_TAB_COLUMNS
WHERE table_name = 'FOO')
FROM
f2020.TMP_FOO)
Что не работает, потому что
SELECT column_name
FROM USER_TAB_COLUMNS
WHERE table_name = 'FOO'
возвращает несколько строк. Могу ли я архивировать то, что я хочу, простым SQL (без необходимости динамического построения строки запроса)?