t-sql - Problem mit sp_executesql

Alex F.

Erfahrenes Mitglied
Hallo ich benutze den Sql Server 2005 und habe folgendes Problem:

Bei der benutzung der funktion sp_executesql bekomme ich einen Fehler da meine Variable selbstständig den SQL kürzt

BSP:
SQL:
DECLARE @sql nvarchar(4000)

set @sql = n'Select .................' -- ca 520 Spalten
               + n' From tabelle1 innerJoin tabelle2 ....'  -- 11 Tabellen gejoint

sp_executesql @sql

Danke bb
 
Tja das beschreibt so ungefähr wo mein problem herrührt. leider kann ich aber nur 4000 als maxwert angeben

Grüsse bb
 
Hallo,

so funktioniert es doch, hab es gerade mit 10000 Zeichen getestet
Code:
DECLARE @sql nvarchar(max)
SET @sql = 'select * ....'
EXECUTE sp_executesql @sql
 
Hallo,

wenn du den Sql Server 2005 benutzt, dann kann man bei nvarchar maximal den Wert 4000 einsetzten (wie auch bei Sql Server 2000).
Eine Neuerung in Sql Server 2005 ist der Parameter "max" - nvarchar(max) - siehe auch http://msdn2.microsoft.com/de-de/library/ms178158.aspx , damit lassen sich mehr Zeichen in der Variablen speichern.
Sie können die Datentypen mit umfangreichen Werten zum Speichern von bis zu 2^31-1 Byte an Daten verwenden.
 

Neue Beiträge

Zurück