Предполагается, что вы находитесь в Linux и или имеете доступ к awk
:
awk -v Q="'" -F "," \
'BEGIN {
print "create table YOURTABLE (name varchar2(X), age varchar2(Y), weight varchar2(Z), height varchar2(N));"
}
/^[^,]\+$/ {name=$0}
/^Age,Weight,Height$/ {
getline
print "insert into YOURTABLE values (" Q name Q ", " Q $1 Q ", " Q $2 Q ", " Q $3 Q ") ;"
print "commit;"
}
END { print "exit;" }' INPUT.CSV > LOAD.SQL
Таким образом, он печатает оператор create table ...
, в котором вы должны заменить длину вашего поля и имя табуляции. Затем читает ваш CSV и в каждой строке, если строка не содержит какую-либо ,
, она устанавливает переменную name
, затем в каждой строке Age,Weight,Height
читает следующую и печатает оператор insert
с содержимым (и commit;
). В конце он печатает exit;
.
Вуаля, вы можете загрузить его с sqlplus
.
Или переписать его немного, чтобы создать стандарт csv
, это легко.