verificar se o cursor esta aberto.

30/03/2005

0

Ola Galera.

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

Eduardo.padilha

Responder

Posts

26/04/2005

Marcus.magalhaes

Boa noite.

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,


Responder

27/04/2005

Eduardo.padilha

Bom dia Marcus.magalhaes.....

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 ?


Responder

27/04/2005

Marcus.magalhaes

Boa tarde Eduardo.

Se acontecer algum problema irá gerar um código de erro na variável @@error, assim basta vc tratar esta variável.

Att,


Responder

08/11/2012

Eduardo Silva

Tratamento de excessão e lá você testa quem está aberto...

IF (CURSOR%ISOPEN) THEN
CLOSE CURSOR;
END IF;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar