Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 sqlplus как занести в таблицу сообщение о выполнении  [new]
your_frend
Member

Откуда:
Сообщений: 5
Есть *.sql файл :
spool log\&1..log;
*здесь какой-то выполняемый целевой скрипт*

insert into SCHEME.RESULT_SYNC@CENTER_SRVER (ONE_DATE, SECOND_DATE) values ('&1', '&2');
commit;
prompt --RCARDDEP_SHOP
exit;

&1 - это сервер на который заносится скрипт
&2 ещё какие то данные

Так вот этот insert на центральный сервер добавляет в таблицу RESULT_SYNC строку о том что целевой скрипт обработан на сервере &1.
Хотелось бы чтобы та информация которая идёт в spool spool log\&1..log; (результат выполнения целевого скрипта) была выдана в переменную &3 то есть занесена в ту таблицу:
insert into SCHEME.RESULT_SYNC@CENTER_SRVER (ONE_DATE, SECOND_DATE, RESULT) values ('&1', '&2', '&3');
....
Это как то возможно?
Другими словами , как передать то что передаётся в SPOOL передалось в таблицу?
5 ноя 19, 22:45    [22010276]     Ответить | Цитировать Сообщить модератору
 Re: sqlplus как занести в таблицу сообщение о выполнении  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29406
your_frend
Это как то возможно?
Другими словами , как передать то что передаётся в SPOOL передалось в таблицу?
Нет. Пиши, дружок, более продвинутые блоки с требуемым транзакционным протоколированием.
6 ноя 19, 08:03    [22010369]     Ответить | Цитировать Сообщить модератору
 Re: sqlplus как занести в таблицу сообщение о выполнении  [new]
-2-
Member

Откуда:
Сообщений: 14995
your_frend,

Запиши в спул команду insert
6 ноя 19, 08:45    [22010384]     Ответить | Цитировать Сообщить модератору
 Re: sqlplus как занести в таблицу сообщение о выполнении  [new]
your_frend
Member

Откуда:
Сообщений: 5
Elic,

Плиззз а можно поподробнее?
6 ноя 19, 10:31    [22010512]     Ответить | Цитировать Сообщить модератору
 Re: sqlplus как занести в таблицу сообщение о выполнении  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9635
your_frend

Другими словами , как передать то что передаётся в SPOOL передалось в таблицу?


Зависит от того можно ли поместить spool на диск доступный на сервере базы. В худшем случае что-то типа:

spool log\&1..log;
*здесь какой-то выполняемый целевой скрипт*

--insert into SCHEME.RESULT_SYNC@CENTER_SRVER (ONE_DATE, SECOND_DATE) values ('&1', '&2');
commit;
prompt --RCARDDEP_SHOP
spool off
host run_sqlloader "&1" "&2"
exit;


SY.
6 ноя 19, 16:52    [22010929]     Ответить | Цитировать Сообщить модератору
 Re: sqlplus как занести в таблицу сообщение о выполнении  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29406
+
set echo on
col dummy for a5
spool %TEMP%\1.log
select * from dual;
spool off

set echo off
declare
  x varchar2(32000) := '
@%TEMP%\1.log
';
begin
  dbms_output.put_line(x);
end;
/
SQL> set echo on
SQL> col dummy for a5
SQL> spool %TEMP%\1.log
SQL> select * from dual;

DUMMY
-----
X

1 row selected.

SQL> spool off
SQL>
SQL> set echo off

SQL> select * from dual;

DUMMY
-----
X

1 row selected.

SQL> spool off


PL/SQL procedure successfully completed.
6 ноя 19, 17:18    [22010957]     Ответить | Цитировать Сообщить модератору
 Re: sqlplus как занести в таблицу сообщение о выполнении  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9635
Красиво. Но на всякий случай лучше-бы Q литeрал. Ну и 32000 не спасет от "literal is too long", так-что 4000.

SY.

Сообщение было отредактировано: 6 ноя 19, 18:10
6 ноя 19, 18:08    [22011006]     Ответить | Цитировать Сообщить модератору
 Re: sqlplus как занести в таблицу сообщение о выполнении  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9635
SY
Ну и 32000 не спасет от "literal is too long", так-что 4000.


Упс, это же PL/SQL, так-что 32K - 1.

SY.
6 ноя 19, 18:16    [22011013]     Ответить | Цитировать Сообщить модератору
 Re: sqlplus как занести в таблицу сообщение о выполнении  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29406
SY
Красиво.
Баян:
  • sqlplus: Можно ли считать файл в переменную?
  • можно ли через sqlplus загрузить текстовый файл с машины клиента в переменную CLOB?
  • Чтение txt файла

    Сообщение было отредактировано: 6 ноя 19, 18:29
  • 6 ноя 19, 18:24    [22011023]     Ответить | Цитировать Сообщить модератору
    Все форумы / Oracle Ответить