Должен ли я закрыть свои курсоры в исключительной ситуации? - PullRequest
0 голосов
/ 25 февраля 2019

Нужно ли позаботиться об открытых курсорах в случае критического сбоя процедуры / функции?Предположим, у меня есть:

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;
/

Разве такой сбой не позаботится о моем открытом курсоре?Нужно ли закрывать его вручную?

...