Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 нужна помощь с синтаксисом при программном добавлении столбцов  [new]
okwell5
Member

Откуда:
Сообщений: 116
Добавляю новые столбцы в цикле.
DECLARE @MAXNEWCOLS INT = (SELECT MAX(N) FROM NEWCOLS)
			DECLARE @NAMECOL VARCHAR(255)
			DECLARE @NAMEDESCR VARCHAR(255)
			DECLARE @T1 VARCHAR(255) = ''''+@TABLENAME+''''
			WHILE @I <= @MAXNEWCOLS 
			BEGIN 
					SET @NAMECOL = ''''+(SELECT COLNAME  FROM NEWCOLS WHERE N = @I )+'''' 
					SET @NAMEDESCR = ''''+(SELECT DESCRNAME  FROM NEWCOLS WHERE N = @I )+'''' 
					
					ALTER TABLE @T1 	ADD @NAMECOL VARCHAR(2000) NULL,		
									ADD @NAMEDESCR VARCHAR(255) NULL  
					SET @I=@I+1
			END 	

Но в написанном коде ошибка:
Неправильный синтаксис около конструкции "@T1".
И подчеркнуто выражение "ALTER TABLE @T1 ADD @NAMECOL VARCHAR(2000) NULL, ADD @NAMEDESCR VARCHAR(255) NULL".
Что я не так написал? Или как написать?
3 июн 13, 14:01    [14383823]     Ответить | Цитировать Сообщить модератору
 Re: нужна помощь с синтаксисом при программном добавлении столбцов  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
okwell5
Что я не так написал?
Да, в общем, всё

Думаете, можно писать как хочешь, всё проскочит?
3 июн 13, 14:04    [14383842]     Ответить | Цитировать Сообщить модератору
 Re: нужна помощь с синтаксисом при программном добавлении столбцов  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
okwell5,

вот, к примеру, где написано, что ALTER TABLE может работать с именем таблицы в текстовой переменной?
И с именем поля в текстовой переменной?
3 июн 13, 14:06    [14383853]     Ответить | Цитировать Сообщить модератору
 Re: нужна помощь с синтаксисом при программном добавлении столбцов  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
okwell5,

про непонятно откуда взявшиеся, возможно, неинициализированные, переменные молчу
3 июн 13, 14:07    [14383858]     Ответить | Цитировать Сообщить модератору
 Re: нужна помощь с синтаксисом при программном добавлении столбцов  [new]
okwell5
Member

Откуда:
Сообщений: 116
iap,
Мне нужно именно так(т.е. чтоб работало с именем таблицы в виде текстовой переменной и со столбцом так же), т.к. в значениях строк хранятся названия столбцов. Или есть иное решение?
3 июн 13, 14:29    [14383961]     Ответить | Цитировать Сообщить модератору
 Re: нужна помощь с синтаксисом при программном добавлении столбцов  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
okwell5
iap,
Мне нужно именно так(т.е. чтоб работало с именем таблицы в виде текстовой переменной и со столбцом так же), т.к. в значениях строк хранятся названия столбцов. Или есть иное решение?
Вам придётся устроиться в Microsoft и переделать сервер под себя.

Альтернатива - всё делать в динамическом SQL
3 июн 13, 14:32    [14383979]     Ответить | Цитировать Сообщить модератору
 Re: нужна помощь с синтаксисом при программном добавлении столбцов  [new]
okwell5
Member

Откуда:
Сообщений: 116
iap
okwell5
iap,
Мне нужно именно так(т.е. чтоб работало с именем таблицы в виде текстовой переменной и со столбцом так же), т.к. в значениях строк хранятся названия столбцов. Или есть иное решение?
Вам придётся устроиться в Microsoft и переделать сервер под себя.

Альтернатива - всё делать в динамическом SQL

Точно! Спасибо за подсказку, дальше я сам.
3 июн 13, 14:34    [14383993]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить