Ich benutze Microsoft SQL Server und es scheint, dass ich dieses Problem nicht umgehen kann.SQL Server: Drop-Spalte @ Variable funktioniert nicht
Ich habe eine Tabelle, auf der ich einige dynamische und statische Spalten haben werde.
Statische Spalten sind Name des Produkts, Produkttyp und die dynamischen Daten wären einige Produktionsdaten aus den laufenden Monaten.
Am jedem Anfang des Monats habe ich die letzten Monat von den dynamischen Spalten fallen zu lassen und ein neuer Monat bis zum Ende der Tabelle hinzufügen
Meine Lösung war die Rettung der Name der Spalte in eine lokale Variable und dann fügen Sie es der alter-Anweisung hinzu. Aber dies nicht funktioniert, es hält mir wie unter einem Fehler geben:
Msg 102, Ebene 15, Status 1, Zeile 18
falsche Syntax nahe '@month_b'
Ich werde jetzt Fügen Sie die Abfragen
declare @month_t char(15)
declare @month_b char(15)
declare @sql char(30)
set @month_b = (SELECT top 1 name
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.ct_test')
AND name != 'TTNR' AND name != 'Family' AND name like '%B%'
ORDER BY name ASC)
set @month_t = (SELECT top 1 name
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.ct_test')
AND name != 'TTNR' AND name != 'Family' AND name like '%T%'
ORDER BY name ASC)
alter table ct_test
drop column @month_b
Ich kann keine Lösung für dieses Problem finden, können Sie mir helfen.
Vielen Dank im Voraus
Dies scheint nicht wie ein gutes Design, btw verwenden müssen. Das regelmäßige Hinzufügen und Löschen von Spalten ist für mich ein Code-Geruch. –