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

Откуда:
Сообщений: 657
привет
есть база
нужно перебрать все таблици в базе и проверить есть ли в каждой таблице поле с нужным именем
если такого поля нет то создать его с нужным именем и типом
например имя comment и тип varchar(200)
19 июл 09, 21:31    [7433682]     Ответить | Цитировать Сообщить модератору
 Re: помогите узнать есть ли поле в таблице  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
SELECT COLUMN_NAME,*
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME=N'ИмяТаблица'
Проверить наличие колонки можно и проще:
IF COLUMNPROPERTY(OBJECT_ID(N'ИмяТаблицы','U'),N'ИмяКолонки','AllowsNull') IS NULL
 PRINT 'Такой колонки нет! :-(('
ELSE
 PRINT 'Есть такая колонка!!! :-)))';
19 июл 09, 21:42    [7433699]     Ответить | Цитировать Сообщить модератору
 Re: помогите узнать есть ли поле в таблице  [new]
step_ks
Member

Откуда:
Сообщений: 936
if col_length (таблица, столбец) is not null
20 июл 09, 07:17    [7433950]     Ответить | Цитировать Сообщить модератору
 Re: помогите узнать есть ли поле в таблице  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
step_ks
if col_length (таблица, столбец) is not null
+1
Самое простое и короткое
20 июл 09, 08:51    [7434009]     Ответить | Цитировать Сообщить модератору
 Re: помогите узнать есть ли поле в таблице  [new]
Гость?%;№
Guest
у меня на 2005 этот вариант не работает.
step_ks
if col_length (таблица, столбец) is not null


а этот работает

IF COLUMNPROPERTY(OBJECT_ID(N'ИмяТаблицы','U'),N'ИмяКолонки','AllowsNull') IS NULL
PRINT 'Такой колонки нет! :-(('
ELSE
PRINT 'Есть такая колонка!!! :-)))';
17 авг 09, 17:48    [7548074]     Ответить | Цитировать Сообщить модератору
 Re: помогите узнать есть ли поле в таблице  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Гость?%;№
у меня на 2005 этот вариант не работает.
step_ks
if col_length (таблица, столбец) is not null
Прямо так и пишете "таблица, столбец"?
Попробуйте так:
if col_length(N'TableName', N'ColumnName') is not null
17 авг 09, 17:57    [7548138]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить