Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

nvarchar(max) est toujours tronqué

Le problème semble être associé à l'instruction SET. Je pense que l'expression ne peut pas dépasser 4 000 octets. Il n'est pas nécessaire de modifier les paramètres si tout ce que vous essayez de faire est d'attribuer une instruction générée dynamiquement de plus de 4 000 caractères. Ce que vous devez faire, c'est diviser votre devoir. Si votre instruction contient 6 000 caractères, trouvez un point d'arrêt logique, puis concaténez la seconde moitié à la même variable. Par exemple :

SET @Query = 'SELECT ....' [Up To 4,000 characters, then rest of statement as below]

SET @Query = @Query + [rest of statement]

Maintenant, exécutez votre requête normalement, c'est-à-dire EXEC ( @Query )