注册 登录
编程论坛 SQL Server论坛

超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为 32)

十六钟声 发布于 2013-03-22 15:09, 1007 次点击
CREATE PROC em_cursor @em_cursor cursor VARYING OUTPUT
        AS
        BEGIN
            SET @em_cursor=CURSOR FORWARD_ONLY STATIC
                    FOR
                        SELECT *
                            FROM Employees
            OPEN @em_cursor
        END
        
    DECLARE @MyCursor cursor
    EXEC dbo.em_cursor @em_cursor=@MyCursor OUTPUT
    WHILE(@@FETCH_STATUS=0)
        BEGIN
            FETCH NEXT FROM @MyCursor
        END
    CLOSE @MyCursor
    DEALLOCATE @MyCursor
我在执行了以上语句就报错:超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为 32)
这是什么情况啊,请指教
3 回复
#2
十六钟声2013-03-22 15:38
求大神指教啊
#3
Aviva_Wang2013-03-23 22:06
我也不知道这个是什么问题,我在写数据库的递归的时候也出现这个错误,我个人感觉是调用自身存储过程时,有错误,条件不满足造成的死循环,然后出现这个问题,要不然就是调用的时候关系不对。
#4
十六钟声2013-03-24 12:36
我发现把BEGIN END去掉就没问题了,但不知道什么原理
1