MS SQLデータベースからID列を持つすべてのテーブルのリストを取得する方法を学びたいと思います。ID列を持つすべてのテーブルのリストを取得する方法
16
A
答えて
35
SELECT
[schema] = s.name,
[table] = t.name
FROM sys.schemas AS s
INNER JOIN sys.tables AS t
ON s.[schema_id] = t.[schema_id]
WHERE EXISTS
(
SELECT 1 FROM sys.identity_columns
WHERE [object_id] = t.[object_id]
);
7
select COLUMN_NAME, TABLE_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA = 'dbo'
and COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1
order by TABLE_NAME
4
それが存在するかCOLUMNPROPERTYへの呼び出しの代わりにWHEREの結合を使用していますので、私は、このアプローチが好きです。あなたがa)は、複数のIDENTITY列を持つテーブルを持っていると、b)重複した結果を望んでいない場合でグループにのみ必要であることに注意してください:
SELECT
SchemaName = s.name,
TableName = t.name
FROM
sys.schemas AS s
INNER JOIN sys.tables AS t ON s.schema_id = t.schema_id
INNER JOIN sys.columns AS c ON t.object_id = c.object_id
INNER JOIN sys.identity_columns AS ic on c.object_id = ic.object_id AND c.column_id = ic.column_id
GROUP BY
s.name,
t.name
ORDER BY
s.name,
t.name;
-1
選択OBJECT_NAME(OBJECT_ID)RROM sys.identity_columns どこis_identity = 1;
以下のスクリプトが行います
0
:
SELECT a.name as TableName,
CASE WHEN b.name IS NULL
THEN 'No Identity Column'
ELSE b.name
END as IdentityColumnName
FROM sys.tables a
LEFT JOIN sys.identity_columns b on a.object_id = b.object_id
関連する問題
- 1. 2つのID列を持つテーブルから名前を取得するクエリ
- 2. すべてのテーブル名と各テーブルのすべての列名と行名を取得する方法は?
- 3. SphinxですべてのドキュメントIDを取得する方法
- 4. jqueryで特定のIDを持つすべての要素のクラスを取得する方法
- 5. joomla15のすべてのリストcatgoriesを取得する方法?
- 6. 特定のテーブルのすべての列を取得する方法ucanaccess
- 7. パラメータを持つすべてのSSRSサブスクリプションのリストを取得するクエリ
- 8. ロールモデルジェム:役割を持つすべてのユーザーを取得する方法:[:admin、:mentor]
- 9. グループIDに基づいてリストを取得する方法
- 10. Linq:DataContext内のすべてのテーブルのリストを取得
- 11. springのSimpleJdbcTemplateからすべてのテーブル名のリストを取得
- 12. プログラムですべての配送方法のリストを取得
- 13. 名前、ID、値を持つすべての入力タイプをJQueryで取得
- 14. Linqを使って一致するIDのリストを取得する方法は?
- 15. mysql内のテーブルIDを取得する方法
- 16. Wordpress&Angular:ページIDを持つ別のページからデータを取得する方法
- 17. 共通のS4スーパークラスを持つクラスのリストを取得する方法
- 18. Mysql join query他のテーブルのIDを持つユーザーのプロファイルイメージを取得します。
- 19. ServiceStack OrmLiteで自動インクリメントIDを取得する方法は?アイデンティティを持つテーブルの場合
- 20. 特定の文字列を持つすべてのIDを見つける
- 21. ID列(T-SQL)を持つテーブルにBulkInsert
- 22. グラフを使用してすべての自分のアプリケーションIDのリストを取得
- 23. すべてのプレイグラウンドのリストを取得
- 24. すべてのアプリケーションのリストを取得
- 25. ユーザーのIDを取得する方法
- 26. リスト内のすべての行列の最大値を取得
- 27. MySQLの同じ列フィールドを持つ行のIDを取得する
- 28. テーブルのIDのリストを作成して、IDを繰り返して別のテーブルで使用する方法
- 29. 文書内のすべてのコンテンツコントロールのリストを取得する方法は?
- 30. ActiveRecord(レール3.1)のすべてのスコープのリストを取得する方法
の質問に答えながら、あまりにも説明のいくつかの種類を提供してください。.. – Lal
あなたのコードの簡単な説明を追加してください。コードのみの回答は(時には)良いですが、コード+説明の回答は(常に)良いです。 – Barranka