Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sqlplus как занести в таблицу сообщение о выполнении / 9 сообщений из 9, страница 1 из 1
05.11.2019, 22:45
    #39885461
your_frend
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlplus как занести в таблицу сообщение о выполнении
Есть *.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 передалось в таблицу?
...
Рейтинг: 0 / 0
06.11.2019, 08:03
    #39885519
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlplus как занести в таблицу сообщение о выполнении
your_frend
Это как то возможно?
Другими словами , как передать то что передаётся в SPOOL передалось в таблицу?
Нет. Пиши, дружок, более продвинутые блоки с требуемым транзакционным протоколированием.
...
Рейтинг: 0 / 0
06.11.2019, 08:45
    #39885528
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlplus как занести в таблицу сообщение о выполнении
your_frend,

Запиши в спул команду insert
...
Рейтинг: 0 / 0
06.11.2019, 10:31
    #39885575
your_frend
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlplus как занести в таблицу сообщение о выполнении
Elic,

Плиззз а можно поподробнее?
...
Рейтинг: 0 / 0
06.11.2019, 16:52
    #39885879
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlplus как занести в таблицу сообщение о выполнении
your_frend

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


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

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
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.
...
Рейтинг: 0 / 0
06.11.2019, 17:18
    #39885901
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlplus как занести в таблицу сообщение о выполнении
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
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;
/

Код: plaintext
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.
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.
...
Рейтинг: 0 / 0
06.11.2019, 18:08
    #39885931
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlplus как занести в таблицу сообщение о выполнении
Красиво. Но на всякий случай лучше-бы Q литeрал. Ну и 32000 не спасет от "literal is too long", так-что 4000.

SY.
...
Рейтинг: 0 / 0
06.11.2019, 18:16
    #39885935
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlplus как занести в таблицу сообщение о выполнении
SY
Ну и 32000 не спасет от "literal is too long", так-что 4000.


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

SY.
...
Рейтинг: 0 / 0
06.11.2019, 18:24
    #39885938
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlplus как занести в таблицу сообщение о выполнении
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sqlplus как занести в таблицу сообщение о выполнении / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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