3

SQL Server 2000データベース内のすべてのテーブルの名前と、テーブルごとにそのテーブル内のすべての列の名前を一覧表示するシステムストアドプロシージャはありますか?このデータをドキュメント用のファイルにエクスポートしたいと思います。

4

3 に答える 3

6

システム ストアド プロシージャが存在するかどうかはわかりませんが、これを使用します。

SELECT   SysObjects.[Name] as TableName,   
    SysColumns.[Name] as ColumnName,   
    SysTypes.[Name] As DataType,   
    SysColumns.[Length] As Length   
FROM   
    SysObjects INNER JOIN SysColumns   
ON SysObjects.[Id] = SysColumns.[Id]   
    INNER JOIN SysTypes  
ON SysTypes.[xtype] = SysColumns.[xtype]  
WHERE  SysObjects.[type] = 'U'  
ORDER BY  SysObjects.[Name]
于 2012-10-02T12:57:36.777 に答える
1

SQL-Server 2005+ では、システム ビューsys.columnsおよびsys.tablesを使用して実行できます。

SELECT t.name TableName, c.name ColumnName
FROM sys.tables t
     JOIN sys.columns c ON t.object_id=c.object_id
于 2012-10-02T13:01:02.977 に答える
0

また、ビューを照会することもできますINFORMATION_SCHEMA.COLUMNS

また、このビューを使用する方が安全です。Microsoft はこのビューについて次のように述べています。「システム テーブルを直接クエリしても、将来のリリースでシステム テーブルが変更された場合、正確な情報が得られない可能性があります。これらのビューは、SQL Server メタ データの内部のシステム テーブルに依存しないビューを提供します。情報スキーマ ビューにより、アプリケーションは、システム テーブルに大幅な変更が加えられていても、正常に動作します。」

于 2012-10-03T13:07:03.030 に答える