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