DECLARE @str VARCHAR (MAX);
SELECT @str = COALESCE(@str + CHAR(10), '') +
'EXECUTE CreateDeno ' + CAST(ID AS VARCHAR)
FROM GL_To_Batch_Details
WHERE TYPE = 'C' AND
Deno_ID IS NULL;
--PRINT @str;--SELECT @str;
**EXEC(@str);**
editadoT-SQL VARCHAR (MAX) truncado
¿Se EXECUTE
instrucción TRUNCATE cuerdas a 8.000 caracteres como PRINT
? ¿Cómo puedo ejecutar una declaración SQL dinámica que tenga más de 8,000 caracteres?
Cualquier sugerencia sería calurosamente apreciada.
creo que está confundido, no se puede 'PRINT' más de 8000 caracteres, que no quiere decir que @str está siendo truncada – Lamak
He editado la cuestión de ser más específico sobre el problema. En realidad, cuando EXECUTE produjo el error, utilicé PRINT para ver qué se generó el T-SQL dinámico. En ambos casos, los valores de nvarchar (MAX) se han truncado. ¿Algunas ideas? –