Visualizações: 1.733
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 🙂