Comment savoir en transact SQL si une table a une autoincrémantation ?
Comment savoir en transact SQL si une table a une autoincrémantation ?
Il faut utiliser l'option "IsIdentity" de la fonction COLUMNPROPERTY, par exemple comme ceci :
A +
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT TABLE_NAME, TABLE_SCHEMA, CASE WHEN EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS AS C WHERE COLUMNPROPERTY(OBJECT_ID('['+TABLE_SCHEMA+'].['+TABLE_NAME+']'), COLUMN_NAME, 'IsIdentity') = 1 AND C.TABLE_NAME = T.TABLE_NAME AND C.TABLE_SCHEMA = T.TABLE_SCHEMA) THEN 'OUI' ELSE 'NON' END AS CONTIENT_IDENTITY FROM INFORMATION_SCHEMA.TABLES AS T
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Partager