ver una todas tablas tabla sentencia puede obtener nombres nombre listar las identidad estructura desde datos columnas columna actualizar sql sql-server tsql identity-column

tablas - obtener todas las columnas de una tabla sql



Cómo obtener una lista de todas las tablas que tienen columnas de identidad (5)

Me gustaría aprender a obtener una lista de todas las tablas que tienen columnas de identidad de una base de datos MS SQL.


El siguiente script hará:

SELECT a.name as TableName, CASE WHEN b.name IS NULL THEN ''No Identity Column'' ELSE b.name END as IdentityColumnName FROM sys.tables a LEFT JOIN sys.identity_columns b on a.object_id = b.object_id


Me gusta este enfoque porque usa una combinación en lugar de WHERE EXISTS o una llamada a COLUMNPROPERTY. Tenga en cuenta que el grupo by solo es necesario si: a) tiene tablas con más de una columna IDENTIDAD yb) no quiere resultados duplicados:

SELECT SchemaName = s.name, TableName = t.name FROM sys.schemas AS s INNER JOIN sys.tables AS t ON s.schema_id = t.schema_id INNER JOIN sys.columns AS c ON t.object_id = c.object_id INNER JOIN sys.identity_columns AS ic on c.object_id = ic.object_id AND c.column_id = ic.column_id GROUP BY s.name, t.name ORDER BY s.name, t.name;


Seleccione OBJECT_NAME (object_Id) Rrom sys.identity_columns donde is_identity = 1;


SELECT [schema] = s.name, [table] = t.name FROM sys.schemas AS s INNER JOIN sys.tables AS t ON s.[schema_id] = t.[schema_id] WHERE EXISTS ( SELECT 1 FROM sys.identity_columns WHERE [object_id] = t.[object_id] );


select COLUMN_NAME, TABLE_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = ''dbo'' and COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, ''IsIdentity'') = 1 order by TABLE_NAME