2016-11-10 1 views
-1

DataType zum Speichern von Zeichen der Länge 10000 in SQL Server 2008, versuchte ich mit VARCHAR (MAX), auch nVARCHAR (MAX) keine Hilfe. Ich deklariere eine Ausgabevariable in dynamicSP, die ich als Größe größer als 10k Zeichen haben möchte.DataType zum Speichern von Zeichen der Länge 10000 in SQL Server 2008

Danke!

+4

VARCHAR (max) und nvarchar (max) halten zu 2 GB an Daten. Dies sollte leicht 10000 (oder sogar 10 Millionen) Zeichen unterbringen. Was meinst du damit, wenn du sagst, dass es keine Hilfe ist? – Ash

+0

Sie können auch Datentyp Text verwenden. –

+1

@ αNerd: *** NEIN, nimm *** 'ntext' (oder' text') nicht mehr! Die Datentypen 'ntext',' text' und 'image' werden in einer zukünftigen Version von SQL Server entfernt. Vermeiden Sie die Verwendung dieser Datentypen in neuen Entwicklungsarbeiten, und planen Sie, Anwendungen zu ändern, die sie derzeit verwenden. Verwenden Sie stattdessen 'nvarchar (max)', 'varchar (max)' und 'varbinary (max)'. [Details siehe hier] (http://msdn.microsoft.com/en-us/library/ms187993.aspx) –

Antwort

0

Wir hatten das gleiche Problem. Unsere Lösung speichert die Abfrage in einer Variablen als Text. Verketten Sie sie dann, bis die Abfrage beendet ist.

Beispiel:

DECLARE @sql AS NVARCHAR(MAX) 

SET @sql = 'query here' 

@[email protected]+'query here' 

exec(@sql) 
+0

DECLARE "@sql" AS NVARCHAR (MAX) -> Wenn Sie beobachten, begrenzen wir den Variablenwert wieder auf nvarchar (MAX), der enthält 4k Zeichen wird unser Problem nicht lösen, auch wenn wir verketten. Korrigieren Sie mich, wenn ich falsch liege. –

+0

@PKernel 'NVARCHAR (MAX)' ist nicht auf 4 KB beschränkt –