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

Подскажите по сабжу:
Каким запросом можно определить, что в какой-то таблице (MyTable, например) в БД MyDB есть поле с установленным свойством identity ?
7 авг 15, 16:43    [17990208]     Ответить | Цитировать Сообщить модератору
 Re: Узнать запросом есть ли в таблице identity поле  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32174
ъ
Здравствуйте.

Подскажите по сабжу:
Каким запросом можно определить, что в какой-то таблице (MyTable, например) в БД MyDB есть поле с установленным свойством identity ?
COLUMNPROPERTY или sys.columns
7 авг 15, 16:53    [17990256]     Ответить | Цитировать Сообщить модератору
 Re: Узнать запросом есть ли в таблице identity поле  [new]
KRS544
Member

Откуда:
Сообщений: 497
select is_identity
from sys.all_columns
where object_id=XXX
7 авг 15, 16:58    [17990286]     Ответить | Цитировать Сообщить модератору
 Re: Узнать запросом есть ли в таблице identity поле  [new]
o-o
Guest
ъ,
use MyDB;
go

if exists (
select *
from sys.columns
where OBJECT_NAME(object_id) = 'MyTable' and is_identity = 1)
select 'yes' else select 'no'
7 авг 15, 16:58    [17990289]     Ответить | Цитировать Сообщить модератору
 Re: Узнать запросом есть ли в таблице identity поле  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
SELECT 1
FROM sys.identity_columns
WHERE [object_id] = OBJECT_ID('dbo.table1')
7 авг 15, 17:32    [17990486]     Ответить | Цитировать Сообщить модератору
 Re: Узнать запросом есть ли в таблице identity поле  [new]
ъ
Guest
Всем спасибо! Всё получилось. "Дошло" где накосячил :)

Делал практически так, как в примере o-o
select 1 as flag
from MyDB.sys.columns
where OBJECT_NAME(object_id) = 'MyTable' and is_identity = 1
только у меня коннект к БД master и, соответственно, запрос ничего не возвращал.
Вот так переделал:
select 1 as flag
from MyDB.sys.columns
where OBJECT_NAME(object_id, db_id('MyDB')) = 'MyTable' and is_identity = 1
7 авг 15, 19:41    [17991036]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить