日期:2014-05-18  浏览次数:20418 次

¤●○存储过程自己调用自己有层次限制,即不能超过38次,能不能有其他办法突破这一限制
我的思路是遇到自己要调用自己时,马上创建自己,即在名称后面加上数字作为标记,创建完后再调用刚才创建好的存储过程,不知这样是否可行,望高手指点,谢!!!

------解决方案--------------------
我只知道SQL 2000中存储过程可以嵌套32层,不知道2005提升到38层了还是楼主说错了。
不管怎么样最好少用嵌套的存储过程,特别是存储过程里包含大量的复杂的语句,最好不要使用嵌套调用其自身,而且嵌套层次要控制在32层内,不然就错误。
象楼主这样,可以从别的方法考虑,可以考虑嵌套的存储过程拿出到存储过程外面来,不要嵌套,使用别的循环代码过程执行该存储过程(可以写到程序端代码中)。
------解决方案--------------------
还是改设计吧,感觉要考虑的问题容易缠绕
------解决方案--------------------
说得没错,更改一下你的架构,按你那样的话,出错机率很高的
------解决方案--------------------
嵌套效率低
------解决方案--------------------
32層吧??
------解决方案--------------------
楼主的想法行不能,还是换个思路
------解决方案--------------------
选择其他的思路。
------解决方案--------------------
写两个不同名同功能的存储过程,这样调用即可
------解决方案--------------------
不知道这样嵌套调用是要实现什么功能?

能嵌套32层是语言机制决定的,再多就会溢出了,没法突破