クエリでどのテーブルとカラムが参照されているかを知りたいSQLクエリがあります。このSQLクエリで参照されている列のリバースエンジニアリングリスト
USE AdventureWorks
GO
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%EmployeeID%'
ORDER BY schema_name, table_name;
からたとえば、私はSYS.TABLES、列名から、OBJECT_IDがように言及していることを知っていただきたいと思います。 sys.columnsにはOBJECT_IDがあり、という名前はです。
私がクエリ/ビュー定義から得た実際のクエリはこれ以上のものですが、これは例として役立ちます。
私はこれを達成できますか? 多くのありがとうございます。
おかげであなたの答えを@iamdave。これらのソリューションは、SQLスクリプトのバリエーションを考慮に入れますか?たとえば、生成されたスクリプト(デザイナを使用して設計されているもの)でさえもいくつかのバリエーションがあります。[tab1] .col1、tab1.col1、 "tabl1" .col1、カラム名はジョインではあいまいではないので、例えば、A列からcol1、B.col2を選択する。常に全参照a.col1、b.col2の代わりにBbを結合する。 – Kenny
@Kenny正しいSQL構文の一部であれば、そうする必要があります。見つけられる最も簡単な方法は、デモを試してみることです。確かでない場合は、ApexSQL(無料SSMSプラグイン)などのSQLフォーマッタを使用してスクリプトを上記のツールに組み込む前に再フォーマットすることができます。 – iamdave