verificar se o cursor esta aberto.
30/03/2005
0
Tenho um store_Procedure onde abro e fecho cursores, porem
tem momentos em que pode ser q toda rotina nao seja executada
entao qdo ao processar novamente a sp acusa q o cursor x já esta aberto.
Pergunta tem uma forma de checar antes da execusao da rotina
se determinados cursores estao abertos ? se tiverem fecha-los.
Obrigado.
Eduardo.padilha
Posts
26/04/2005
Marcus.magalhaes
Não tem como vc testar, o q vc deve fazer é garantir no sua procedure, que mesmo ela não sendo executada por inteiro, todos os cursores sejam fechados.
Att,
27/04/2005
Eduardo.padilha
Olha eu novamente, como eu poderia garantir na minha sp que mesmo ela não sendo executada por inteiro, todos os cursores sejam fechados ?
Imagina q tenho 2 cursores trabalhando em conjunto , digamos
o cursor interno e o externo , suponhamos q minha rotina executou o q tinha para executar fechou o interno, por sua vez iria fechar o externo para sair fora da sp, mas antes de fechar o ultimo cursor aconteceu algum problema e nao conseguiu fechar , se eu tentar executar a rotina novamente o vai acusar q o cursor externo esta aberto e ae esta o problema.
Entao como eu posso garantir na minha sp que mesmo ela não sendo executada por inteiro, todos os cursores sejam fechados ?
27/04/2005
Marcus.magalhaes
Se acontecer algum problema irá gerar um código de erro na variável @@error, assim basta vc tratar esta variável.
Att,
08/11/2012
Eduardo Silva
IF (CURSOR%ISOPEN) THEN
CLOSE CURSOR;
END IF;
Clique aqui para fazer login e interagir na Comunidade :)