Запуск пл / sql в Korn Shell (AIX) - PullRequest
0 голосов
/ 31 мая 2010

У меня есть файл для выполнения в Ksh, написанный кем-то.Он имеет набор команд для выполнения в sqlplus.

Он начинается с

sqlplus -s $UP <<- END

, за которым следует набор команд ddl, таких как create, drop и т. Д.,

Когда я выполняю файл в оболочке, я получаю сообщение об ошибке в стартовой строке, указанной выше.Я понимаю, что "-s" запускает sqlplus в режиме без вывода сообщений, а $ UP - это строка подключения с именем пользователя / паролем.Но я не мог сделать головы или хвосты части «<< - END» (многие сайты из Google говорят, что перенаправление ввода «<<», а не «<< -»).Поэтому я предположил, что ошибка должна быть в этой части, и удалил ее из файла.Теперь он читает: </p>

sqlplus -s $UP 

Но как только я запускаю файл, он ждет ввода от оболочки, а не читает остальные строки из файла.Как мне сделать sqlplus для выполнения команд ddl в остальной части файла ?.Заранее спасибо.

1 Ответ

1 голос
/ 31 мая 2010

Здесь «END» - это маркер блока, а «-» не требуется.

Для запуска sqls из сценария оболочки ниже приведен один простой пример.

sqlplus system/manager << ENDOFSQL 

       whenever sqlerror exit sql.sqlcode;
       select sysdate from dual;
       exit;
ENDOFSQL

Спасибо

Ринсон К.Е. DBA

...