Я использую .csv-файлы и хочу разобрать их, чтобы я мог вставить строки / содержимое моего csv-файла в разные таблицы.Я искал в Интернете и нашел этот твит .Затем я попытался адаптировать код к моей проблеме, и вот как он выглядит в настоящее время:
select /*csv*/ * from uploaded_files where filename LIKE 'I%_Trigger.csv';
with
function get_column (p_row varchar2, p_col_num number)
return varchar2
is
v_row apex_t_varchar2;
begin
v_row := apex_string.split(p_row, ';');
if v_row.exists(p_col_num) then
return v_row(p_col_num);
end if;
return null;
end;
select get_column(column_value, 1) as col1,
get_column(column_value, 2) as col2,
get_column(column_value, 3) as col3,
get_column(column_value, 4) as col4,
get_column(column_value, 5) as col5,
get_column(column_value, 6) as col6,
get_column(column_value, 7) as col7,
get_column(column_value, 8) as col8
from apex_string.split(:CSVDATA, chr(10));
Чтобы кратко объяснить мой код: uploaded_files хранит .csv-файлы.Таблица содержит столбец с именем file_blob, в котором хранится содержимое файла.Я должен преобразовать его в clob (эта часть здесь отсутствует), чтобы иметь возможность анализировать данные.
Когда я запускаю код, я получаю следующую ошибку:
ORA-00933: SQL-Befehl wurde nicht коррекция был
00000 - «Команда SQL не завершена должным образом»
Я думаю, что ошибка должна что-то делать с последней строкой.Кто-нибудь может объяснить, что означает :CSVDATA
в твите?Хорошо, я знаю, что он содержит данные моего CSV, но что именно это и как он объявлен / определен?Что означает :
в этом контексте?