T-SQL-Datentyp VARCHAR(MAX) Abgeschnitten

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);**

BEARBEITET

Tut EXECUTE Anweisung kürzen von Zeichenfolgen zu 8.000 Zeichen wie PRINT? Wie kann ich führen Sie eine dynamische SQL-Anweisung mit mehr als 8.000 chars?

Jede Anregung wäre herzlich willkommen.

  • Ich denke, Sie sind verwirrt, Sie können nicht PRINT mehr als 8000 Zeichen hat, bedeutet das nicht, dass @str ist abgeschnitten
  • Ich habe bearbeitet die Frage, um genauer zu sein auf das problem. Eigentlich, wenn Sie AUSFÜHREN, produziert die Fehler, die ich verwendet zu DRUCKEN, um zu sehen, was war das dynamische T-SQL generiert. In beiden Fällen, nvarchar(MAX) - Werte hatte, wurde abgeschnitten. Irgendwelche Ideen?
InformationsquelleAutor Nick Binnet | 2011-09-12
Schreibe einen Kommentar