выводить только ошибки при запуске большого количества операторов вставки через sqlplus - PullRequest
0 голосов
/ 22 июня 2019

Мне нужно загрузить таблицу с тысячами записей.

Я создал файл .sql так:

INSERT into TABLE(OLD,NEW) VALUES('A1','B1');
INSERT into TABLE(OLD,NEW) VALUES('A2','B2');
INSERT into TABLE(OLD,NEW) VALUES('A3','B3');
(...)
INSERT into TABLE(OLD,NEW) VALUES('A500000','B500000');
COMMIT;

sqlplus печатает каждый оператор с выводом "1 строка создана".

Это вызвало очень большой и бесполезный журнал ... (очень бесполезный ... на нашей платформе изменений журналы усекаются после 50 000 строк ...)

Как я могу зарегистрировать только заявление по ошибке?

Ответы [ 2 ]

2 голосов
/ 22 июня 2019

Добавить set feedback off в начале вашего скрипта:

SET FEEDBACK OFF также отключает сообщения подтверждения оператора, такие как «Таблица создана» и «PL / SQL»процедура успешно завершена », которые отображаются после успешных операторов SQL или PL / SQL.

Если вы запускаете сценарий в неинтерактивном сеансе, вам также может потребоваться set echo off.

0 голосов
/ 22 июня 2019

Используйте только один оператор INSERT со всеми VALUES

INSERT into TABLE(OLD,NEW) VALUES
    ('A1','B1'),
    ('A2','B2'),
    ...
    ('A500000','B500000')
;

Журнал будет 500000 rows created.

...