Нужно ли позаботиться об открытых курсорах в случае критического сбоя процедуры / функции?Предположим, у меня есть:
PROCEDURE example IS
CURSOR c_example IS
SELECT 1 FROM dual;
BEGIN
OPEN c_example
some processing that causes a failure(...)
CLOSE c_example;
EXCEPTION
WHEN OTHERS THEN
IF c_example%ISOPEN
THEN CLOSE c_example;
END IF;
RAISE;
END;
/
Разве такой сбой не позаботится о моем открытом курсоре?Нужно ли закрывать его вручную?