Как выполнить SQL из Oracle SQL Plus, передавая имя переменной SQL-файл из Unix - PullRequest
0 голосов
/ 22 января 2019

Для Oracle DB и HP-UX: у меня есть имя SQL-файла с именем переменной, например: my_sql_file_${TIMESTAMP}.sql

Я назначаю этот файл переменной: MYSQLFILE="my_sql_file_${TIMESTAMP}.sql"

Итак, япытаясь выполнить MYSQLFILE внутри SQL Plus, например:

@${MYSQLFILE}

, но кажется, что это невозможно сделать.Есть ли способ достичь вышеуказанного ??

Спасибо.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

вы можете использовать

sqlplus user/pass@service_name @$MYSQLFILE

внутри SQLPLUS, вы также можете использовать

sql> host echo $MYSQLFILE

И это также верно,

sqlplus user/password@db <<EOF
  @$MYSQLFILE
  exit;
EOF
0 голосов
/ 22 января 2019

Это должно работать:

MYSQLFILE="my_sql_file_${TIMESTAMP}.sql"

sqlplus -S user/password@db << EOF
@$MYSQLFILE
exit;
EOF

Вы также можете передать в сценарий пользователя, пароль и дБ в качестве параметров

...