2014-02-12 21 views
2

我正在創建一個視圖使用另一個視圖內部聯接(ed)與表值函數, 此表值函數調用標量值的函數來填充其列之一,當我執行相同的,
我得到錯誤提示:Maximum stored procedure, function, trigger, or view nesting level exceeded(limit 32)如何解決錯誤:超過最大存儲過程,函數,觸發器或視圖嵌套級別(限制32)

誰能幫助..... PLZ

*以下是表值函數

ALTER FUNCTION [dbo].[sstfnAllSubjectWithAASDID] 
(
) 
RETURNS 
@tt TABLE 
(
    AASDID numeric(18,0), 
SubjectString nvarchar(MAX), 
SubjectCount int 
) 
    AS 
     BEGIN 
     declare @pID numeric(18,0) 
     declare @pStr nvarchar(MAx) 
     declare @pCount int 
     Declare LAASDID Cursor Read_Only Fast_Forward for (SELECT AASDid from   vwAcdAdmissionSessionDetailWithAcdAdmissionSessionSubjectDetail) 
              open LAASDID 

              FETCH next from LAASDID into @pID 
               while(@@FETCH_STATUS =0) 
              BEGIN 
              set @pCount = (SELECT COUNT(MasterSubject.SubjectName) as cnt 
                  FROM   AcdAdmissionSessionSubjectDetail INNER JOIN 
                   MasterSubject ON AcdAdmissionSessionSubjectDetail.SubjectId = MasterSubject.SubjectId where 
                   AcdAdmissionSessionSubjectDetail.AASDID = @pID 

                   ) 
              set @pStr = (SELECT [dbo].[ssspfnGetSubjectname] (@pID)) 
              Insert Into @tt (AASDID,SubjectString,SubjectCount) values (@pID,@pStr,@pCount) 
              FETCH next from LAASDID into @pID 
              END 



RETURN 

END 
  • 這是標量值的函數調用

    ALTER FUNCTION [dbo].[ssspfnGetSubjectname] 
         (
         @pAASDID numeric(18,0) 
         ) 
         RETURNS nvarchar(max) 
         AS 
         BEGIN 
    
    DECLARE @Cols1 as nvarchar(max) 
    
    set @Cols1 = STUFF( (SELECT DISTINCT SubjectName + ',' 
             FROM  ( SELECT  AcdAdmissionSessionSubjectDetail.AASDID, MasterSubject.SubjectName as SubjectName 
           FROM   AcdAdmissionSessionSubjectDetail INNER JOIN 
            MasterSubject ON AcdAdmissionSessionSubjectDetail.SubjectId = MasterSubject.SubjectId where 
            AcdAdmissionSessionSubjectDetail.AASDID = @pAASDID 
           ) as ss 
         FOR XML PATH('')) ,1,1,'') 
    
    
    
    
    RETURN @Cols1 
    
        END 
    
+0

問桑迪普他會告訴你的解決方案 –

回答

0

試試這個代碼

SP_CONFIGURE 'nested_triggers',0 
GO 
RECONFIGURE 
GO 
相關問題