Je souhaite créer une liste de colonnes dans SQL Server 2005 qui ont des colonnes d'identité et leur table correspondante dans T-SQL.
Les résultats seraient quelque chose comme:
TableName, ColumnName
Je souhaite créer une liste de colonnes dans SQL Server 2005 qui ont des colonnes d'identité et leur table correspondante dans T-SQL.
Les résultats seraient quelque chose comme:
TableName, ColumnName
Un autre moyen potentiel de le faire pour SQL Server, qui dépend moins des tables système (qui sont sujettes à changement, de version à version) consiste à utiliser les vues 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
contient des informations pour les tables et les vues simples et je suggère d'ajouter TABLE_TYPE (joignant INFORMATION_SCHEMA.TABLES) pour la lisibilité du jeu de résultats.sys.columns.is_identity = 1
par exemple,
la source
Une autre façon (pour 2000 / 2005/2012/2014):
REMARQUE:
table_name_here
devrait êtreschema.table
, sauf si le schéma estdbo
.la source
Dans SQL 2005:
la source
Cette requête semble faire l'affaire:
la source
voici une version de travail pour MSSQL 2000. J'ai modifié le code 2005 trouvé ici: http://sqlfool.com/2011/01/identity-columns-are-you-nearing-the-limits/
la source
Liste des tableaux sans colonne Identité basée sur la réponse de Guillermo :
la source
La requête suivante fonctionne pour moi:
la source
Je pense que cela fonctionne pour SQL 2000:
la source
Cela a fonctionné pour moi en utilisant Sql Server 2008:
la source
Utilisez ceci :
la source
Cela a fonctionné pour SQL Server 2005, 2008 et 2012. J'ai constaté que sys.identity_columns ne contenait pas toutes mes tables avec des colonnes d'identité.
En regardant la page de documentation, la colonne d'état peut également être utilisée. Vous pouvez également ajouter l'identifiant en quatre parties et cela fonctionnera sur différents serveurs.
Source: https://msdn.microsoft.com/en-us/library/ms186816.aspx
la source
Pour une raison quelconque, le serveur SQL enregistre certaines colonnes d'identité dans différentes tables, le code qui fonctionne pour moi est le suivant:
la source