Как в ORACLE выполнить экспорт записей из таблицы по запросу?

dbstalker, 03 июня

Передо мной была поставлена задача: сделать дамп нескольких таблиц, но экспортировать таблицы не полностью, а несколько записей выбранных по условию.

Пришлось читать документацию. И вот что довелось узнать.

Начиная с 8 версии ORACLE, для утилиты EXPORT можно использовать параметр QUERY для задания условия аналогичного конструкции where для запросов.

Задание этого параметра дает возможность для экспорта выбрать подмножество записей таблиц. Значение параметра query должно быть строковой константой, содержащей кластер where утверждения select, который будет выполняться для ВСЕХ таблиц указанных в параметре TABLES.

Например, нужно экспортировать из таблицы table1 записи, у которых значение столбца pole1 больше нуля.

exp user/password  tables=(table1) file=proba.dmp log=exp_proba.log query='where pole1>0' 

Для выполнения этой команды ORACLE генерирует и выполняет следующий запрос

SELECT * FROM table1 where pole1>1;

Стоит также отметить, что если в параметре tables указано несколько таблиц, то условие, указанное в query применяется ко всем таблицам, указанным в конструкции tables. Например:

exp user/password  tables=(table1,table2) file=proba.dmp log=exp_proba.log query='where pole1>0' 

Для выполнения приведенной команды генерируются запросы

SELECT * FROM table1 where pole1>1;
SELECT * FROM table2 where pole1>1;

Если таблица не содержит указанных в конструкции query колонок, то будет сгенерировано сообщение об ошибке и ни одна запись этой таблицы выбрана не будет.

Замечания

Параметр QUERY не может быть указан для полного экспорта, экспорта схемы, для режима переноса табличных пространств.

Параметр QUERY должен быть применим для всех указанных в команде таблиц.

Параметр QUERY не применим, если указываете (DIRECT=Y)

Для юниксоподобных операционных систем утилита с конструкцией query вызывается так:

exp scott/tiger tables=emp query=\"where deptno=10\"

 

Новый комментарий

Я не спамер: введите суму 4+9



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

средства для рук
17 августа, 3 ответа
(Без темы)Шкаф купе
17 августа, 2 ответа
Страховая компания
17 августа, 1 ответа