SQLのクイックチップ


SQL Serverのヒントとトリック


これは、私は私は他の人に役立つことができると思います私は年間を通じて蓄積している簡単なヒントやトリックのシリーズの一部です.
場合は、同様の短いヒントやトリックをコメントを残してください.

テーブル名で探す


あなたはテーブルの膨大な数で大きなデータベース上で働いている場合は、まだ全体のデータモデルに精通していない場合は、どのようにハードは、それを探している特定のテーブルを見つけることです知っている.または多分あなただけで動作しているパワーポイントのプレゼンテーションに置くような名前を持つテーブルのリストを取得する必要があります.
次に、次のクエリが有用です.
SELECT *
  FROM sys.tables
 WHERE name LIKE '%partOfTableName%'

特定の列を持つテーブルを見つける


あなたがしばらくの間プログラマをしていて、異なった顧客のために異なるプロジェクトに取り組んでいるならば、あなたはおそらくいくつかの、または全く外部キー制約なしでデータベースの向こう側に多分あります.外部キー制約を持たない理由がたくさんありますが、私はここには行きませんが、他のテーブルに関連するテーブルを見つけるのは難しくなりますので、テーブル名を同じ名前または同じ名前でテーブルとして実装している人を希望するように、関連するテーブルを見つける別の方法が必要です.そして、これがケースであるならば、あなたは特定の名前でコラムを含んでいるすべてのテーブルを見つけるためにすべてのデータベース表を問い合わせることができます.このクエリは以下のようにします.
USE Northwind

DECLARE @searchText VARCHAR(200) = 'address'

 SELECT SCHEMA_NAME(schema_id) + '.' + t.name AS [Table name],
        c.name AS [Column name]
   FROM sys.tables AS t
   JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
  WHERE c.name LIKE '%'+ @searchText +'%'
  ORDER BY [Table name];