Recursividad de procedimientos almacenados

14/04/2004 - 12:56 por Pedro J. | Informe spam
Hola:

Tengo un problema grave y es el como poder solucionar el error
"Maximum stored procedure, function, trigger, or view nesting level exceeded
(limit 32)". Este error se produce en un procedimiento almacenado que a su
vez llama a otro que a su vez llama a otro que a su vez llama al primero, no
se trata de un error de lógica, ya que la recursividad de estos
procedimientos es necesaria y el error no se produce siempre, sólo se
produce cuando la recursividad es "excesiva" para el SQL.
¿hay algo en el SQL que pueda configurar para que aumente el nivel de
recursividad para poder solucionar esto?.

Muchas gracias.

Pedro J.
 

Leer las respuestas

#1 Tako
14/04/2004 - 13:06 | Informe spam
La profundidad máxima que admite SQLServer es de 32, tendrás que mirar
si superas esa cifra y si es así tendrás que cambiar el algoritmo bien por
otro recursivo que no supera esa cifra bien por otro iterativo.

Te copio de los libros en pantalla por si te sirve:

Los procedimientos almacenados se anidan cuando un procedimiento almacenado
llama a otro. Puede anidar hasta 32 niveles de procedimientos almacenados.
El nivel de anidamiento aumenta en uno cuando el procedimiento almacenado al
que se ha llamado empieza a ejecutarse, y disminuye en uno cuando finaliza
su ejecución. Si se intenta superar el límite máximo de 32 niveles de
anidamiento, se producirá un error general en la cadena del procedimiento
almacenado que realiza la llamada. El nivel actual de anidamiento de los
procedimientos almacenados en ejecución se almacena en la función
@@NESTLEVEL.

"Pedro J." wrote in message
news:
Hola:

Tengo un problema grave y es el como poder solucionar el error
"Maximum stored procedure, function, trigger, or view nesting level


exceeded
(limit 32)". Este error se produce en un procedimiento almacenado que a su
vez llama a otro que a su vez llama a otro que a su vez llama al primero,


no
se trata de un error de lógica, ya que la recursividad de estos
procedimientos es necesaria y el error no se produce siempre, sólo se
produce cuando la recursividad es "excesiva" para el SQL.
¿hay algo en el SQL que pueda configurar para que aumente el nivel de
recursividad para poder solucionar esto?.

Muchas gracias.

Pedro J.


Preguntas similares