Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Нужна помощь по sqlplus / 3 сообщений из 3, страница 1 из 1
29.01.2019, 15:33
    #39766605
JPolak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь по sqlplus
Всем доброго времени суток.
В скрипте под sqlplus необходимо, в команде ACCEPT задать дефолтное значение не константой, а через значение другой переменной.
Т.е. в bind переменную mag_num помещается вычисленное в рантайме некоторое значение. Это значение позднее я хочу использовать как дефолтное для команды ACCEPT.
В принципе, пример можно еще сильнее упростить остановившись чисто на bind переменной не прибегая к ( column ... new_value ... noprint). Изначально я так и сделал, просто решил поэксперементировать.
Проблема в повторном запросе значения для mag_num_.
&& в данном случае мне не помогли...

P.S. скрипт абсолютно надуманный, представлен исключительно для демонстрации проблемы.

пример вывода скрипта --->
> check it
Enter value for mag_num_: 44
Please, enter the magical number [44]:55
mag_num=55
<---

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
spool test.log
set serveroutput on
set verify off
--
prompt TEST script
--
var mag_num number
prompt > Try to find suitable route
  begin
    select 777 mag_num into :mag_num  from dual;
  end;
  /
--
 column mag_num new_value mag_num_ noprint
--
prompt > check it
accept mag_num_ number default '&&mag_num_' prompt 'Please, enter the magical number [&&mag_num_]:'
  begin
    dbms_output.put_line('mag_num=' || &&mag_num_);
  end;
/
spool off
...
Рейтинг: 0 / 0
29.01.2019, 15:57
    #39766630
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь по sqlplus
JPolak
Код: plsql
1.
column mag_num new_value mag_num_ noprint

После этого не хватает select-а
...
Рейтинг: 0 / 0
29.01.2019, 16:03
    #39766635
JPolak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь по sqlplus
ElicJPolak
Код: plsql
1.
column mag_num new_value mag_num_ noprint

После этого не хватает select-а

Огромное спасибо, заработало.
Код: plsql
1.
2.
3.
4.
5.
6.
...
--
 column mag_num new_value mag_num_ noprint
 select :mag_num as mag_num from dual;
--
...
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Нужна помощь по sqlplus / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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