#oracle #shell #block #anonymous
#Oracle #оболочка #блокировать #Аноним
Вопрос:
У меня есть сценарий оболочки, который будет вызывать функцию в базе данных, чтобы получить возвращаемое значение. Это довольно просто. ВЫБЕРИТЕ {function_name} ИЗ dual;
Однако функция также обновляет столбец, если определенные критерии верны. Таким образом, я не могу вызвать эту функцию в режиме запроса, поскольку она выполняет DML.
Мой вопрос: из сценария оболочки, как я могу закодировать анонимный блок (ОБЪЯВИТЬ…НАЧАТЬ…RETURN … END) и возвращает значение сценарию оболочки. Это позволит обойти проблему DML, которая не позволяет мне вызывать ее в операторе SELECT.
Большое спасибо!