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

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

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

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


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

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


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