передать значение переменной в качестве входных данных в sql-файл оракула, который вызывается из сценария оболочки.

Чтобы показать только первое совпадение с grep , используйте параметр -m , например:

grep -m1 pattern file

- m num , - max-count = num

Остановить чтение файла после совпадения числа.

0
27.04.2018, 04:51
1 ответ

Превратите свой сценарий SQL в файл шаблона с заполнителями, которые действительно легко сопоставить. Затем создайте настоящий SQL-скрипт из шаблона, когда вы знаете значения переменных :

.

template.sql:

set head on
set feed on
set termout off
set trimspool on

spool ts_verify.log
select tablespace_name from dba_tablespaces where tablespace_name='@@TABLESPACENAME@@';
spool off

set termout on
set trimspool off
exit

Ваш скрипт:

#!/bin/sh

unset ts_name
echo "Please enter the Tablespace Name for which you want to add datafile"
read -r ts_name

# create real SQL script and pass it to `sqlplus`:
sed "s/@@TABLESPACENAME@@/$ts_name/g" template.sql |
sqlplus -s "/ as sysdba"
0
28.01.2020, 04:24

Теги

Похожие вопросы