Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

nvarchar(max) viene ancora troncato

Il problema sembra essere associato all'istruzione SET. Penso che l'espressione non possa avere dimensioni superiori a 4.000 byte. Non è necessario apportare modifiche alle impostazioni se tutto ciò che si sta tentando di fare è assegnare un'istruzione generata dinamicamente con più di 4.000 caratteri. Quello che devi fare è dividere il tuo compito. Se la tua istruzione è lunga 6.000 caratteri, trova un punto di interruzione logico e quindi concatena la seconda metà alla stessa variabile. Ad esempio:

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

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

Ora esegui la tua query normalmente, ad esempio EXEC ( @Query )