Я использую Microsoft SQL Server, и кажется, что я не могу обойти эту проблему.SQL Server: drop column @variable не работает
У меня есть таблица, на которой у меня будут динамические и статические столбцы.
Статические столбцы будут наименованием продукта, типа продукта, а динамическими данными будут некоторые данные о производстве из текущих месяцев.
В каждом начале месяца я должен отказаться от динамических столбцов в прошлом месяце и добавить новый месяц до конца таблицы
Мое решение было сохранение имя столбца в локальную переменную а затем добавив его в оператор alter. Но это не работает, он продолжает давать мне ошибку, как в:
Msg 102, Level 15, State 1, Line 18
Неправильный синтаксис около '@month_b'
Я теперь будет добавить запросы
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
Я не могу найти решение этого вопроса, вы можете мне помочь.
Спасибо заранее
Это не похоже, хороший дизайн, кстати. Регулярное добавление и удаление столбцов - это запах кода для меня. –