我收到此错误
事务中没有更多可用的锁类。错误1220.SQLSTATE 42000.严重级17. MsgState 1.第1行。
当我执行此选择
时SELECT me.Id, dbo.getMenuName(me.id)[name] FROM BSMenus me
这是功能:
CREATE FUNCTION dbo.Getmenuname(@id INTEGER)
returns VARCHAR(100) AS
BEGIN
DECLARE @res VARCHAR(100)
SELECT @res=
CASE
WHEN Isnull(m.bsmenufatherid,'')='' THEN m.NAME
ELSE dbo.Getmenuname(m.bsmenufatherid)+' / '+m.NAME
END
FROM bsmenus m
WHERE m.id=@id
RETURN @res;
END
go
答案 0 :(得分:2)
您已达到SQL Server 2008及更高版本的最大递归级别 32 。您可以使用@@NESTLEVEL变量检查当前的递归级别。您的递归逻辑中存在错误,或者您必须在不递归的情况下重写代码。
见这里: https://docs.microsoft.com/en-us/sql/t-sql/functions/nestlevel-transact-sql