Использование таблицы метаданных USER_TAB_COLUMNS Я получил имена столбцов и типы данных одной из моих таблиц, например, так:
SELECT column_name, data_type
FROM USER_TAB_COLUMNS
WHERE table_name = 'BACKUP'
AND column_name NOT IN ('ID', 'ENV_ID');
Результат выглядит следующим образом:
COLUMN_NAME |DATA_TYPE
--------------------------------------
SESSION_STATION NVARCHAR2
user NVARCHAR2
type NCHAR
date DATE
hour NVARCHAR2
Я хочу создать новую внешнюю таблицу с такими именами столбцов и типами данных:
CREATE TABLE new_table
(
SESSION_STATION NVARCHAR2
user NVARCHAR2
type NCHAR
date DATE
hour NVARCHAR2
)
organization external
(
...
);
Я бы хотел сделать это, используя результатпредыдущего выбора во время создания новой таблицы вместо того, чтобы вводить ее вручную в запрос.
Я надеялся сделать это просто так, но, очевидно, не работает :
CREATE TABLE new_table
(
SELECT column_name, data_type
FROM USER_TAB_COLUMNS
WHERE table_name = 'BACKUP'
AND column_name NOT IN ('ID', 'ENV_ID');
)
NB I не может использовать «CREATE TABLE new_table AS», так как он не работает с «внешней организацией» при создании его в качестве внешней таблицы.
Конечная цель этого состоит в том, чтобы клиентское приложение отправляло запросы в базу данных для импорта различных файлов CSV в разные таблицы, изменяя только имя таблицы и файла CSV в каждом запросе.
Любойпредложения приветствуютсяО, спасибо!