No.2ベストアンサー
- 回答日時:
昔、以下のSQLを作ったことがあります。
2005では問題なかったです。私の用はこれで足りたので必要に応じて修正してみてください。
SELECT
b.name as "Table名",
a.name as "カラム名",
c.name as "データ型",
a.column_id as "カラム順",
a.max_length as "データ長",
a.precision,
a.scale ,
case when a.is_nullable =0 then 'Null不可'
else 'NUll可' end as "NULL",
case when a.is_identity =0 then '×'
else '○' end as "オートナンバー",
case when a.default_object_id = 0 then '×'
else d.definition end as 'デフォルト値',
case when f.index_column_id is not null AND e.is_primary_key = 1 then 'PK'
else '×' end as 'PK'
FROM sys.columns as a
Left outer JOIN sys.objects as b
ON a.object_id = b.object_id
Left outer JOIN sys.types as c
ON a.system_type_id = c.system_type_id
Left outer JOIN sys.default_constraints as d
ON a.default_object_id = d.object_id
Left outer JOIN sys.indexes as e
ON a.object_id = e.object_id
AND e.is_primary_key = 1
Left outer JOIN sys.index_columns as f
ON a.object_id = f.object_id
AND a.column_id = f.column_id
WHERE b.type = 'U'
AND c.name != 'sysname'
ORDER BY b.name,a.column_id
No.1
- 回答日時:
そのためのストアドがデフォルトで用意されています。
[カラム情報取得]
sp_columns
[ @table_name = ] object
[ , [ @table_owner = ] owner ]
[ , [ @table_qualifier = ] qualifier ]
[ , [ @column_name = ] column ]
[ , [ @ODBCVer = ] ODBCVer ]
詳細はヘルプかMSDNをご覧ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- Oracle SQLの書き方について 1 2023/04/13 09:54
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- MySQL sqlにおけるテーブル名と各カラム名って 具体的に何ですか? 私は良くphpmyadminを使います 3 2023/05/18 14:10
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
マイクラPC版のコマンドで効率...
-
[MySQL] 3つのテーブルの結合で...
-
inner joinをすると数がおかし...
-
エクセルの関数について教えて...
-
php+MySQLでレコードが何行目か...
-
Unionした最後にGROUP BYを追加...
-
T-SQLの sp_executesql について
-
エラー 1068 (42000): 複数の主...
-
SQLサーバから、項目の属性(型...
-
sqlで、600行あるテーブルを100...
-
複数のテーブルの重複データを...
-
カラム情報取得方法
-
フィールド名を変数で指定するには
-
MySQLのint型で001と表示する方...
-
【Transact-sql】 execの結果を...
-
SELECT出来るのにDELETE出来な...
-
ストアドのエラーについて
-
DataTableで重複行を削除したい
-
Access VBAでのIDの自動発番
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
SQLサーバから、項目の属性(型...
-
副問合せの書き方について
-
SQL Left Join で重複を排除す...
-
select文のwhere句に配列を入れ...
-
VIEWの元のテーブルのindexって...
-
SQLにて特定の文字を除いた検索...
-
マイクラPC版のコマンドで効率...
-
sqlで、600行あるテーブルを100...
-
クエリ表示と、ADOで抽出したレ...
-
PL/SQLの変数について
-
Unionした最後にGROUP BYを追加...
-
エラー 1068 (42000): 複数の主...
-
バインド変数について
-
[MySQL] 3つのテーブルの結合で...
-
Access パラメータクエリをcsv...
-
LEFT JOIN と GROUP BY
-
php+mysqlで複数選択削除について
-
insertを高速化させたい
おすすめ情報