Visualizações: 3.870 views
Olá pessoal,
Bom dia!
Neste post rápido vou demonstrar como identificar as tabelas que possuem colunas IDENTITY no SQL Server. Muitas vezes, precisamos identificar quais tabelas são essas, qual o valor atual do identity e qual o valor do incremento (seed) da tabela e é claro que não vamos olhar tabela por tabela.
Para isso, podemos rapidamente identificar essas informações com a query abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT IDENT_SEED(TABLE_NAME) AS Seed, IDENT_INCR(TABLE_NAME) AS Increment, IDENT_CURRENT(TABLE_NAME) AS Current_Identity, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE OBJECTPROPERTY(OBJECT_ID(TABLE_NAME), 'TableHasIdentity') = 1 AND TABLE_TYPE = 'BASE TABLE' ORDER BY Current_Identity DESC |
Identificando as colunas que possuem a propriedade Identity:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, ORDINAL_POSITION, NUMERIC_PRECISION, NUMERIC_SCALE FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1 ORDER BY TABLE_NAME |
Até a próxima!
Fala Dirceu, tudo bem?
Primeiramente obrigado por compartilhar seu conhecimento!
Queria uma ajuda em uma questão, além de trazer todas essas informações referentes ao identity, teria como trazer também qual o nome da coluna que seria identity?
Att
Felipe Oliveira
Opa, editei o post 🙂