web-dev-qa-db-fra.com

Si une procédure stockée est modifiée alors qu'elle est actuellement utilisée dans un curseur, le curseur continue-t-il d'utiliser l'ancienne requête avant d'être modifiée?

Si une procédure stockée (ou vue) est actuellement utilisée dans un curseur de longue durée et que je modifie cette procédure stockée, le curseur continuera-t-il à utiliser l'ancienne instance de la procédure stockée jusqu'à ce que le curseur soit terminé?

7
J.D.

Donc, selon la suggestion de @ LowlyDBA, j'ai décidé de tester cela par moi-même (dans une certaine mesure). J'étais en train de déboguer un problème de production à chaud, donc je ne pouvais pas vraiment m'arrêter pour écrire le code d'un scénario de test. Mais le code que je débogue est ce scénario. J'ai donc mis à jour la procédure et regardé les requêtes en cours d'exécution et j'ai vu le texte de la requête changer avant et après ma modification de la procédure alors que le curseur continuait à itérer.

6
J.D.