Como executo uma instrução sql dinâmica muito longa?

Lembro-me de volta no dia em que eu fazia uma loucuranvarchar(4000) varões, verifique o comprimento deles à medida que crescem, troque-os conforme eles se enchem e concatenem toda a bagunça juntos para a chamada executiva. Fiquei me perguntando se havia uma maneira mais fácil de fazê-lo.

Obrigado!

Editar:

Amostra de código, mostra-me estragar a instrução case

DECLARE @sql NVARCHAR(MAX)
SELECT @sql = CAST(N'SELECT ' AS NVARCHAR(MAX))

DECLARE @Index INT
SELECT @Index = 0

WHILE (@Index < 1000)
BEGIN
 SELECT @sql = CAST(@sql AS NVARCHAR(MAX)) + CAST(N'          ' AS NVARCHAR(MAX)) + CAST( CASE @Index WHEN 1 THEN N' ' END AS NVARCHAR(MAX))
 SELECT @Index = @Index + 1
END
SELECT @sql = CAST(@sql AS NVARCHAR(MAX)) + CAST(1 AS NVARCHAR(MAX))

SELECT LEN(@sql)
EXECUTE sp_executesql @sql

questionAnswers(2)

yourAnswerToTheQuestion