Oracle 10g - записывает результаты запросов в файл - PullRequest
7 голосов
/ 19 февраля 2010

Я хочу запустить более 200 запросов и добавить результаты в файл.Все запросы одинаковы, единственная разница в переменной даты и времени.У меня нет привилегий для создания подпрограммы, поэтому мне пришлось создавать все запросы.У меня нет прав для создания представления или другой таблицы для сохранения результатов. У меня нет доступа к PL / SQL.

Теперь мне нужно создать отчет с результатами каждого изэто запросы (все результаты являются целыми числами), но я не вижу другого решения, кроме как запустить один за другим и скопировать результаты один за другим.

Кто-нибудь из вас, замечательный мозг, может мне помочь?Это срочно.

Ответы [ 3 ]

4 голосов
/ 19 февраля 2010

1 - поместите ваши запросы в текстовый файл следующим образом:

set pagesize 0;

select some_field
from some_table;

select another_field
from another_table;
/

2 - сохранить его где-нибудь (скажем, c: \ my_file.sql)

3 - Запустите это из командной строки:

c:\>sqlplus -s username/password@database.domain.com < tmp.sql > output.txt

4 - Просмотр "output.txt"

2 голосов
/ 19 февраля 2010

Вы можете буферизовать ваш вывод в файл.

См. Команду spool (URL - руководство пользователя Oracle 10.2).

Также:

http://www.praetoriate.com/t_garmany_easysql_the_spool_command.htm

И некоторые советы по компоновке:

http://www.oracle.com/technology/oramag/code/tips2004/020904.html

0 голосов
/ 20 февраля 2010

Если у вас есть доступ к sqlplus, вы можете запускать анонимные блоки PL / SQL.

DECLARE
 v_cnt number;
BEGIN
 select ... into v_cnt ...;
 dbms_output.put_line(v_cnt);
END;
.
spool out.log
/
spool off
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...