DB 内のテーブル情報を取得する方法

SQL Server 2005 でデータベースの情報を取得するには、情報スキーマビュー (INFORMATION_SCHEMA) が便利です。 *1 情報スキーマビューには、以下のような種類があります。

INFORMATION_SCHEMA.SCHEMATA
スキーマ情報
INFORMATION_SCHEMA.TABLE_PRIVILEGES
テーブル特権情報
INFORMATION_SCHEMA.TABLES
テーブル情報
INFORMATION_SCHEMA.COLUMNS
カラム情報

最も簡単な使用例を以下に示します。

-- いったん全て出力してから、 WHERE 句で絞るとわかりやすいと思います。
SELECT * FROM INFORMATION_SCHEMA.TABLES
SELECT * FROM INFORMATION_SCHEMA.COLUMNS

情報スキーマビューから取得できない場合は、以下のように SYS.OBJECTS などを使用してください。

SELECT
	NAME
FROM
	SYS.OBJECTS
WHERE
	TYPE = 'U'
	AND IS_MS_SHIPPED = 0
ORDER BY
	NAME

*1:昔のバージョンの Oracle では、「DESC テーブル名」で情報を取得できます。