System.Data.SqlClient.SqlException: 超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为32)。 首先看看嵌套的定义: 如: 嵌套1层 select*from (select*fromSTUDENT )asA 嵌套2层 select*from (select*from (select*fromSTUDENT )asA )asB 常犯的错误: 1.触发器中嵌套调用 CREATETRIGGERMoniStudentIn...
System.Data.SqlClient.SqlException: 超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为32)。 首先看看嵌套的定义: 如: 嵌套1层 select*from (select*fromSTUDENT )asA 嵌套2层 select*from (select*from (select*fromSTUDENT )asA )asB 常犯的错误: 1.触发器中嵌套调用 CREATETRIGGERMoniStudentIn...
超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为 32)。 wangzhiqing999 c#大师 15 解决的办法1> drop TRIGGER AfterDeleteTest;2> go1> CREATE TRIGGER AfterDeleteTest2> ON test_trigger_table3> FOR DELETE4> AS5> DECLARE6> @OldID INT;7> BEGIN8> PRINT('AFTER DELETE');9> ...
Alter procedure student_avgscore snum varchar(4),AvgScore int OUTPUT,CourseNum int OUTPUT,NotpassNum int OUTPUT AS BEGIN Select @AvgScore = Avg(Score) From SC Where SC.snum = @snum Select @CourseNum = Count(*) From SC Where SC.snum = @snum Select @NotpassNum = Count(...
如果满足某些条件, 你就要去 update T_Archive_Location 表。你需要去看看 T_Archive_Location 表上面有没有什么别的触发器。因为你这个错误, 一般情况下, 是 A 表更新触发器, 更新 B 表。B 表更新触发器, 更新 A 表。最后导致 来回折腾 32次以后, 出错结束了。
应该是多个触发器相互影响造成的,你看看关于Zc_InStock的触发器有没有操作Zc_Goods
System.Data.SqlClient.SqlException: 超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为32)。 首先看看嵌套的定义: 如: 嵌套1层 select*from (select*fromSTUDENT )asA 嵌套2层 select*from (select*from (select*fromSTUDENT )asA )asB ...
超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为 32). 这个是存储过程写完后,在最后没有添加GO -- 示例: createproc xxx as begin select'123'; end -- 在后面添加 go -- 再写执行过程 execxxx;
应该是你的存储过程、函数之间嵌套调用了,调用的层数过多(超过32层)导致的。嵌套调用需要堆栈的支持,考虑到性能,SQL对最多可嵌套的层数进行了限制导致的。
你这应该是在创建存储过程时将测试此存储过程的代码也被编译到存储过程里,因此造成了循环调用,因此会超出嵌套层数 比如 CREATE procedure [dbo].[PR_Test]as begin end exec PR_Test 这样就会出错