'&' используется для обозначения переменных замещения в SQL Plus.Эти переменные могут быть установлены с помощью ключевого слова DEFINE
.В качестве альтернативы, если это значение не указано с помощью этого ключевого слова, SQL Plus будет запрашивать у вас значение переменной и продолжать запрашивать вас каждый раз, когда он видит &variable
.Плюс повторно использовать первое определенное значение переменной.Например, если вам будет предложено ввести значение usr
на основе вашего фрагмента кода подключения, все последующие вхождения &&usr
будут заменены этим значением.В этом случае SQL Plus предложит вам только один раз ввести значение usr
.
РЕДАКТИРОВАТЬ:
Да, вы можете передать параметры из скрипта,Пример:
$ cat a.sh
#!/bin/bash
# Ideally, you would retrieve the password from a secure
# location like a password safe/vault etc. Never hardcode
# the connection credentials
USER=scott
PASS=tiger
INST=orcl
sqlplus -s /nolog << EOF >> some_log_file.log
connect ${USER}/${PASS}@${INST}
set serveroutput on
select user from dual;
EOF
$ ./a.sh
$ cat some_log_file.log
USER
------------------------------
SCOTT
$