![](/img/trans.png)
[英]Trigger throws error Maximum stored procedure, function, trigger, or view nesting level exceeded
[英]maximum stored procedure, function, trigger, or view nesting level exceeded
我收到以下錯誤:
超出最大存儲過程,函數,觸發器或視圖嵌套級別(限制32)。
我可以在其他線程中看到它與您需要添加go的內容有關。 我不確定如何執行此操作,並且注意到它是遞歸過程。 任何想法如何解決這個問題?
ALTER PROCEDURE [dbo].[SetMigrate]
(@DirId uniqueidentifier,
@Source nvarchar(255),
@Recursive bit)
AS
DECLARE @IsRoot AS BIT
SELECT @IsRoot = IsMigrationRoot
FROM directories
WHERE folderid = @DirId
IF (@IsRoot = 1)
BEGIN
RETURN
END
UPDATE directories
SET migrate = 1, [source] = @Source
WHERE folderid = @DirId
IF (@Recursive = 0)
BEGIN
RETURN
END
DECLARE @parentid uniqueidentifier, @directoryid uniqueidentifier
DECLARE Directories cursor local read_only for
SELECT FolderID, ParentFolderID
FROM directories
WHERE ParentFolderID = @DirId
OPEN Directories
FETCH NEXT FROM Directories INTO @directoryid, @parentid
WHILE @@FETCH_STATUS = 0
BEGIN
--print @Path
EXEC SetMigrate @directoryid, @Source, @Recursive
FETCH NEXT FROM Directories INTO @directoryid, @parentid
END
CLOSE Directories
DEALLOCATE Directories
GO
首先刪除if語句的開頭和結尾。 還要確保您已更改數據庫以允許recursive_triggers。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.