powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как выгрузить данные из всех таблиц oracle в csv/xls?
5 сообщений из 5, страница 1 из 1
Как выгрузить данные из всех таблиц oracle в csv/xls?
    #39586442
inquisiteur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть n(=200) таблиц.

Необходимо быстро выгрузить данные (допустим, по тысяче строк) из всех таблиц в csv/xls.
Как это сделать? Каким-нибудь циклом же, верно?
...
Рейтинг: 0 / 0
Как выгрузить данные из всех таблиц oracle в csv/xls?
    #39586477
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inquisiteurЕсть n(=200) таблиц.

Необходимо быстро выгрузить данные (допустим, по тысяче строк) из всех таблиц в csv/xls.
Как это сделать? Каким-нибудь циклом же, верно?

Инструмент для выгрузки будет зависеть от от точной постановки задачи.
если это нужно сделать разово, решение будет одно, если нужно автоматизировать периодическую задачу - другое.

Ускорить можно, например запустив часть процессов параллельно.
нужно учитывать также, где нужно формировать эти файлы (сервер/клиент), если таблицы связаны, потребуются меры чтобы данные были согласованы.
...
Рейтинг: 0 / 0
Как выгрузить данные из всех таблиц oracle в csv/xls?
    #39586525
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inquisiteurЕсть n(=200) таблиц.

Необходимо быстро выгрузить данные (допустим, по тысяче строк) из всех таблиц в csv/xls.

Как это сделать? Каким-нибудь циклом же, верно?

Очень грубо, без проверки типа, длины строки, заключения строк в ковычки и так далее
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
-- генерация простейшего SQL для формирования CSV строк по списку таблиц из USER_TABLES
declare
cmd varchar2(4000);
fields1 varchar2(4000);
fields2 varchar2(4000);
begin

for i in (select table_name from user_tables) loop
        fields1:='';  -- формирование строки данных для select 
        fields2:='';  -- формирование строки полей для заголовка CSV
        for c in (select column_name from user_tab_columns where table_name=i.table_name) loop
                fields1:=fields1||c.column_name||'||'',''||';
                fields2:=fields2||c.column_name||',';
        end loop;
        fields1:=substr(fields1,1,length(fields1)-7);
        fields2:=substr(fields2,1,length(fields2)-1);
        cmd:='SELECT '''||fields2||''' FROM DUAL UNION ALL SELECT '||fields1||' FROM '||i.table_name;
        dbms_output.put_line(cmd);
end loop;
end;
/
-- на выходе будет что то вроде:
SELECT 'X,NAME' FROM DUAL UNION ALL SELECT X||','||NAME FROM DROPME

Что даст CSV
X,NAME
1,Ivanov0001
2,Ivanov0002
3,Ivanov0003
4,Ivanov0004
5,Ivanov0005
6,Ivanov0006
7,Ivanov0007
8,Ivanov0008
9,Ivanov0009
...
Рейтинг: 0 / 0
Как выгрузить данные из всех таблиц oracle в csv/xls?
    #39586549
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Легче pl/sql developer или oracle sql developer для жтого заюзать. Или сгенерить скрипт для sqlcl
...
Рейтинг: 0 / 0
Как выгрузить данные из всех таблиц oracle в csv/xls?
    #39588294
inquisiteur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtender,

у меня есть возможность использовать Oracle SQL Developer.
Вижу, как экспортировать целую БД, а как, например, только по тысяче строк? И в CSV/XLS?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как выгрузить данные из всех таблиц oracle в csv/xls?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]