Variable in AS statement

geniusone

Benutzer
Beiträge
8
Hallo, kann ich den Spaltenname bei der Ausgabe nicht verändern?


Declare @Kunde1 varchar(5);
Declare @cn varchar(50)
Declare @sql nvarchar(max)

SET@cn = '[AUF_Bestelldatum]'
SET @Kunde1 = '16843';

SET @sql = 'SELECT TOP 10 ' + @cn + ' AS ' + @Kunde1 + ' FROM [dbo].[Auftrag]'

EXEC sp_sqlexec @sql



-->
Meldung 102, Ebene 15, Status 1, Zeile 3
Falsche Syntax in der Nähe von "16843".
 
Werbung:
Morgen, lass Dir doch einfach mal nach dem SET @sql mit SELECT @sql das Statement ausgegeben und fürs manuell aus. Dann siehste schon was da falsch ist.
 
Werbung:
Lösung:

Der erkennt 16843 als Zahl, nicht als Spaltenalias. Du kannst einfach, wie bei @cn auch, bei @Kunde1 = '[16843]' setzen.


Declare @Kunde1 varchar(7);
Declare @cn varchar(50)
Declare @sql nvarchar(max)

SET @cn = '[AUF_Bestelldatum]'
SET @Kunde1 = '[16843]';

SET @sql = 'SELECT TOP 10 ' + @cn + ' AS ' + @Kunde1 + ' FROM [dbo].[Auftrag]'

EXEC sp_sqlexec @sql

--print @sql
 
Zurück
Oben