Click here to Skip to main content
15,894,825 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi, i wrote this store procedure in sqlserver but when i execute it i obtain the following error:
"Message 217, Level 16, State 1, Procedure RELAZIONE_TURNI_COMPONENTI, line 37
You have exceeded the maximum number of nesting levels allowed (32) for stored procedures, functions, triggers, or views."
What's wrong?
Thanks

SQL
USE [PianificazioneAttivita]
GO
/****** Object:  StoredProcedure [dbo].[RELAZIONE_TURNI_COMPONENTI]    Script Date: 11/19/2014 09:53:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROC [dbo].[RELAZIONE_TURNI_COMPONENTI] (
    @idReparto bigint,
	@idTurnoLavoro bigint OUTPUT,
	@idRep bigint OUTPUT,
	@oraInizio time(7) OUTPUT,
	@oraFine time(7) OUTPUT,
	@idComponente bigint OUTPUT, 
	@nomeComponente varchar(50) OUTPUT,
	@giorniAnticipo int OUTPUT)
AS
BEGIN
 SET NOCOUNT ON;

DECLARE @turno bit;

IF ( EXISTS (SELECT * FROM [PianificazioneAttivita].[dbo].[Turni_Lavoro] WHERE Id_Reparto=@idReparto))
BEGIN SET @turno='TRUE' END
ELSE 
BEGIN  RETURN END

DECLARE Copy_Cursor CURSOR LOCAL FOR (SELECT RL.Id_TurniLavoro,Id_Reparto,OraInizio,OraFine,C.Id_Componenti,Nome,Giorni_anticipo
	FROM [PianificazioneAttivita].[dbo].[Regole_Lavoro] as RL
	JOIN [PianificazioneAttivita].[dbo].[Turni_Lavoro] as TL
	ON RL.Id_TurniLavoro=TL.Id_TurniLavoro and TL.Id_Reparto=@idReparto
	JOIN [PianificazioneAttivita].[dbo].[Turni] as T
	ON TL.Id_Turno=T.Id_Turno 
	JOIN [PianificazioneAttivita].[dbo].[Componenti] as C
	ON C.[Id_Componenti]=RL.Id_Componenti)


OPEN Copy_Cursor
FETCH NEXT FROM Copy_Cursor INTO @idTurnoLavoro,@idRep,@oraInizio,@oraFine,@idComponente,@nomeComponente,@giorniAnticipo

     WHILE @@FETCH_STATUS = 0
		BEGIN
			EXEC  dbo.RELAZIONE_TURNI_COMPONENTI @idReparto,@idTurnoLavoro,@idRep,@oraInizio,@oraFine,@idComponente,@nomeComponente,@giorniAnticipo
					print @idTurnoLavoro
					print @idRep
					print @oraInizio
					print @oraFine
					print @idComponente
					print @nomeComponente
					print @giorniAnticipo
		FETCH NEXT FROM Copy_Cursor INTO @idTurnoLavoro,@idRep,@oraInizio,@oraFine,@idComponente,@nomeComponente,@giorniAnticipo
		END

	CLOSE Copy_Cursor
	DEALLOCATE Copy_Cursor
END	
Posted

1 solution

does your nested SP RELAZIONE_TURNI_COMPONENTI internally executes another SP ,function etc

check this

Maximum stored procedure, function, trigger, or view nesting level exceeded (limit 32)

This may help you

error:Maximum stored procedure, function, trigger, or view nesting level exceeded (limit 32)?[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900