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

Откуда: Липецк
Сообщений: 10
Здравствуйте!!!!!!!!!!!!!!!!!!
Задача: Нужно создать поле в таблице MyTable с именем, хранящимся в поле name другой таблицы factor

DECLARE @b nvarchar(128);
SELECT @b=a.[name]
FROM [Объекты недвижимости].[dbo].[factor] a;
ALTER TABLE [Объекты недвижимости].[dbo].[MyTable]
ADD @b; - в этом ошибка

Или есть какие-либо другие способы кроме ALTER TABLE?
25 июл 09, 15:52    [7460106]     Ответить | Цитировать Сообщить модератору
 Re: Добавление поля с заранее неизвестным именем в таблицу  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Только динамический SQL (в котором, напрмер, выполнять ALTER TABLE)
25 июл 09, 16:05    [7460121]     Ответить | Цитировать Сообщить модератору
 Re: Добавление поля с заранее неизвестным именем в таблицу  [new]
Горбунова Евгения
Member

Откуда: Липецк
Сообщений: 10
Молодой человек, а можно поподробнее?
25 июл 09, 16:10    [7460125]     Ответить | Цитировать Сообщить модератору
 Re: Добавление поля с заранее неизвестным именем в таблицу  [new]
Владимир СА
Member

Откуда:
Сообщений: 7825
DECLARE @b nvarchar(128);
SELECT @b=a.[name] FROM [Объекты недвижимости].[dbo].[factor] a;
DECLARE @str varchar(2000);
-- в качестве примера динамического sql
SET @str = 'ALTER TABLE [Объекты недвижимости].[dbo].[MyTable] ADD ' + @b + ' varchar(200) NULL';
exec (@str);
25 июл 09, 16:29    [7460144]     Ответить | Цитировать Сообщить модератору
 Re: Добавление поля с заранее неизвестным именем в таблицу  [new]
Горбунова Евгения
Member

Откуда: Липецк
Сообщений: 10
Владимир СА, СПАСИБО ОГРОМНОЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
25 июл 09, 16:41    [7460154]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить