una todas tablas tabla saber relacionadas que obtener listar las excluir estructura estan descripcion datos consultar consulta como columnas columna buscar bases sql-server tsql sql-server-2000

sql server - todas - Tablas de listas T-SQL, columnas



listar columnas de una tabla sql server (2)

En T-SQL (SQL Server 2000). ¿Cómo puedo listar todas las tablas y columnas en una base de datos? Además, en una consulta separada hay una forma de enumerar todas las columnas junto con el tipo de datos y las restricciones (NULLS, etc.). Gracias.


Muchas formas de hacerlo. A continuación hay un par de maneras en que puede enumerar:

Opción 1:

SELECT db_name() as DATABASE_NAME, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, ORDINAL_POSITION, COLUMN_DEFAULT, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_PRECISION_RADIX, NUMERIC_SCALE, DATETIME_PRECISION FROM INFORMATION_SCHEMA.COLUMNS

Opcion 2:

DECLARE @SQL VARCHAR(8000) SELECT @SQL = '''' SELECT @SQL = @SQL + ''UNION SELECT '''''' + name + '''''' [DataBaseName], t.name [TableName], c.name [ColumnName], st.name [DataType] FROM '' + name + ''..sysobjects t INNER JOIN '' + name + ''..syscolumns c ON t.id = c.id INNER JOIN ''+ name + ''..systypes st on c.xtype = st.xtype where t.xtype = ''''U'''''' FROM master..sysdatabases WHERE name IN (''databasename1'', ''databaseName2'') -- change here !! SELECT @SQL = RIGHT(@SQL, LEN(@SQL)-5) + '' ORDER BY 1, 2, 3'' EXEC(@SQL)

Opción 3:

select db_name() as database_name ,table_name = sysobjects.name ,column_name = syscolumns.name ,datatype = systypes.name ,length = syscolumns.length from sysobjects inner join syscolumns on sysobjects.id = syscolumns.id inner join systypes on syscolumns.xtype = systypes.xtype where sysobjects.xtype = ''U'' order by sysobjects.name ,syscolumns.colid


Por favor revise el esquema de información .

select * from MyDatabaseName.information_schema.columns order by table_name, ordinal_position