Запрос данных таблицы базы данных SQL Server / Oracle - столбец идентификаторов - PullRequest
2 голосов
/ 15 августа 2010

Я пытаюсь выполнить запрос к базе данных SQL Server и Oracle, чтобы получить данные таблицы, которые бы указывали, является ли столбец автоматическим приращением или нет.Я предполагаю, что вы посмотрите на таблицы «information_schema.columns» и «user_tab_cols», но, похоже, эта информация не содержит эту информацию.Кто-нибудь знает, где я могу получить эту информацию?

Ответы [ 2 ]

2 голосов
/ 15 августа 2010

Чтобы проверить определенный столбец в SQL Server:

select t.name as tableName, c.name as columnName, c.is_identity 
    from sys.columns c
        inner join sys.tables t
            on c.object_id = t.object_id
    where t.name = 'YourTable'
        and c.name = 'YourColumn'

или найти все столбцы идентификаторов

select t.name as tableName, c.name as columnName, c.is_identity 
    from sys.columns c
        inner join sys.tables t
            on c.object_id = t.object_id
    where c.is_identity = 1
1 голос
/ 15 августа 2010

В одну сторону на сервере sql это вернет все столбцы с идентификатором

    select OBJECT_NAME(id) as Tablename, name as ColumnName,*
    from syscolumns
   where COLUMNPROPERTY(id, name, 'IsIdentity') = 1

Или с помощью information_schema

select TABLE_SCHEMA + '.' + TABLE_NAME,COLUMN_NAME
 from INFORMATION_SCHEMA.columns
where COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), 
   COLUMN_NAME, 'IsIdentity') = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...