Ошибка при запуске скрипта PL / SQL

В сценарии оболочки я вызываю хранимую процедуру PL / SQL.

sqlplus -s <<EOF $v_fcp_login set head off feed off serverout on size 1000000 exec XXIRIS_TEST_K.XXIRIS_TEST('$v_1',$v_2,$v_3,'$v_4',$v_5); exit EOF 

Но когда в блоке PL / SQL есть ошибка, мне нужно обнулить скрипт оболочки, который работает как параллельная программа для хоста в Oracle, но это не так.

Я новичок в сценарии оболочки, и любая помощь действительно ценится.

One Solution collect form web for “Ошибка при запуске скрипта PL / SQL”

Во-первых, вам нужно получить SQL * Plus для ошибки, если возникла ошибка SQL. Вы можете сделать это, добавив:

 WHENEVER SQLERROR EXIT FAILURE 

к вашему сценарию SQL (вероятно, вверху). Вы также можете указать разные коды (небольшие неотрицательные целые числа, отличные от нуля = сбой) вместо слова FAILURE .

Они вернутся к вашему сценарию оболочки в $? , Поэтому вы можете отреагировать на свой сценарий оболочки. В целом, это выглядело бы примерно так:

 sqlplus -s <<EOF $v_fcp_login set head off feed off serverout on size 1000000 WHENEVER SQLERROR EXIT FAILURE exec XXIRIS_TEST_K.XXIRIS_TEST('$v_1',$v_2,$v_3,'$v_4',$v_5); exit EOF if [ 0 -ne "$?" ]; then echo "Stored proc blew up." >&2 exit 1 fi 

Конечно, вы можете использовать разные коды выхода для обозначения разных вещей (например, если вы вызывали несколько хранимых процедур, вы могли бы выйти из 1 для первого, взорвав, выйти 2 для второго и т. Д.),

  • Удаление специальных символов в текстовом файле
  • SQLPLUS с циклами сценариев оболочки
  • Инструмент для экранирования всех кавычек в строке / файле
  • Ввод файла для оператора select в командной строке
  • Выход прерывается при добавлении вывода sql-запроса в ksh
  • vim: Синтаксис синтаксиса с помощью аргумента командной строки
  • Использовать аргумент командной строки и переменную с помощью sed Inside Bash Script
  • Как распечатать CSV / таблицу из результатов SQuirreL?
  • Передача переменных оболочки в оператор SQL
  • Сравните два выходных файла sql с именами столбцов и распечатайте разницу в другой файл
  • неожиданный EOF при поиске соответствия `) '
  • Interesting Posts

    Как предотвратить появление сообщения «Последний вход:» при использовании sftp?

    Загрузка общих объектов относительно исполняемого пути

    Как ОС знает, что команде требуется sudo?

    В xterm (mintty, bash), как я могу открыть файл в существующем процессе vim?

    Использование расширения параметра для создания списка аргументов для `mkdir -p`

    Какую установку я должен выбрать из CentOS, чтобы иметь ее как dom0 xen host?

    Как открыть каталог и сохранить код в нем Gerris в Linux?

    Неверная команда zip испортила мою директорию проекта

    Почему я получаю это в конце команды `last`?

    Никогда не очищайте .bash_history (HISTFILE)

    Я попадаю в состояние гонки в bash?

    Как предоставить права «no-root-user» для запуска / остановки / перезапуска сервера mysql на suse-машине?

    Есть ли у меня дубликаты пакетов?

    Почему этот код Hello World X11 не запущен на NetBSD?

    Оптимизированные процессором пакеты debian с оптимизированным процессором

    Linux и Unix - лучшая ОС в мире.