Utilizzo Microsoft SQL Server e sembra che non riesca a risolvere il problema.SQL Server: drop column @variable not working
Ho una tabella in cui avrò alcune colonne dinamiche e statiche.
Le colonne statiche dovrebbero essere il nome del prodotto, il tipo di prodotto e i dati dinamici sarebbero dati di produzione da mesi in corso.
A ogni inizio del mese devo eliminare dalle colonne dinamiche mese passato e aggiungere un nuovo mese alla fine della tabella
La mia soluzione era di salvare il nome della colonna in una variabile locale e quindi aggiungendolo alla dichiarazione alter. Ma questo non funziona, si continua a darmi un errore come sotto:
Msg 102, livello 15, stato 1, riga 18
la sintassi non corretta in prossimità '@month_b'
Passo ora aggiungi le domande
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
Non riesco a trovare una soluzione a questo, puoi aiutarmi.
Grazie in anticipo
Questo non sembra un buon design, btw. Aggiungendo e rilasciando regolarmente le colonne è un odore di codice per me. –