Comment savoir en transact SQL si une table a une autoincrémantation ?
Version imprimable
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:
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