Я хочу создать список столбцов в SQL Server 2005, у которых есть столбцы идентификаторов и соответствующая им таблица в T-SQL.
Результаты будут примерно такими:
TableName, ColumnName
Я хочу создать список столбцов в SQL Server 2005, у которых есть столбцы идентификаторов и соответствующая им таблица в T-SQL.
Результаты будут примерно такими:
TableName, ColumnName
Другой потенциальный способ сделать это для SQL Server, который меньше полагается на системные таблицы (которые могут меняться от версии к версии), - это использовать представления INFORMATION_SCHEMA:
select COLUMN_NAME, TABLE_NAME
from INFORMATION_SCHEMA.COLUMNS
where COLUMNPROPERTY(object_id(TABLE_SCHEMA+'.'+TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1
order by TABLE_NAME
INFORMATION_SCHEMA.COLUMNS
содержит информацию для простых таблиц и представлений, и я предлагаю добавить TABLE_TYPE (присоединение к INFORMATION_SCHEMA.TABLES) для удобства чтения набора результатов.sys.columns.is_identity = 1
например,
источник
Другой способ (на 2000/2005/2012/2014):
ПРИМЕЧАНИЕ:
table_name_here
должно бытьschema.table
, если не схемаdbo
.источник
В SQL 2005:
источник
Этот запрос, кажется, помогает:
источник
вот рабочая версия для MSSQL 2000. Я изменил код 2005 года, найденный здесь: http://sqlfool.com/2011/01/identity-columns-are-you-nearing-the-limits/
источник
Список таблиц без столбца Identity на основе ответа Гильермо :
источник
Для меня работает следующий запрос:
источник
Я думаю, что это работает для SQL 2000:
источник
Это сработало для меня с использованием Sql Server 2008:
источник
Использовать это :
источник
Это работало для SQL Server 2005, 2008 и 2012. Я обнаружил, что sys.identity_columns не содержит всех моих таблиц со столбцами идентификаторов.
Глядя на страницу документации, можно также использовать столбец статуса. Также вы можете добавить идентификатор из четырех частей, и он будет работать на разных серверах.
Источник: https://msdn.microsoft.com/en-us/library/ms186816.aspx
источник
По какой-то причине sql-сервер сохраняет некоторые столбцы идентификаторов в разных таблицах, код, который работает для меня, следующий:
источник