Mo da este error al ejecutar un procedimiento almacenado (que es un cursor)
He intentado buscar documentación sobre este error pero encontré poca cosa
Me podriais decir mas o menos por donde tirar?
Gracias
| ||||
| Respuesta: "Se superó el nivel máximo de anidamiento de vistas......" posiblemente tengas un procedimiento recursivo.. puedes postear algo de tu code, estoy seguro que te ayudaran a realizar los ajustes necesarios.. Saludos!
__________________ La sencillez y naturalidad son el supremo y último fin de la cultura... -- MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications. |
| ||||
| Respuesta: "Se superó el nivel máximo de anidamiento de vistas......"
Código:
ALTER PROCEDURE [dbo].[usp_Reparar_temporales]
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @T varchar(255),@C varchar(255) ,@ss varchar(255), @control integer
set @control=0
--print N'Illegal value : '+@control
DECLARE Table_Cursor CURSOR FOR SELECT a.name,b.name FROM sysobjects a,syscolumns b
WHERE a.id=b.id AND a.xtype='u' AND (a.name like '''temp_%''')
OPEN Table_Cursor
FETCH NEXT FROM Table_Cursor INTO @T,@C
WHILE(@@FETCH_STATUS=0)
BEGIN
set @control=@control+1
EXEC('UPDATE '+@T+' SET '+@C+'=LTRIM(RTRIM(REPLACE('+@C+',''|'' ,'''')))')
-- EXEC('UPDATE temp_Consumo_descrip SET Descripcion=LTRIM(RTRIM(REPLACE(temp_Consumo_descrip.Descripcion,''Local/Tokikoa |'' ,''Lacal'')))')
FETCH NEXT FROM Table_Cursor INTO @T,@C
END
CLOSE Table_Cursor
DEALLOCATE Table_Cursor
END
exec usp_Reparar_temporales
|
| ||||
| Respuesta: "Se superó el nivel máximo de anidamiento de vistas......" Lo único que yo veo raro es: 1. @control integer. Cambialo por int 2. a.name like '''temp_%'''. No tienes apostrofes demás?
__________________ No repitamos temas, usemos el Motor de busquedas Plantea bien tu problema: Ayúdanos a ayudarte. |