2017-08-22 7 views
1

非常に大きく、複雑で、文書化されていないデータベースがあります。SQLクエリの内訳/ドキュメント

SELECT u.FirstName , u.LastName, a.AccountNumber 
FROM Username u 
LEFT JOIN Account a 
ON a.UserID = u.UserID 
:私はこのような形式を持つことになりますクエリの私の研究の大半によるなど

すべてのストアド・プロシージャ、ファンクションのために使用されているテーブルと列を示します文書を、提供するために、タスクを持っています

テーブルとカラムの〜90%にエイリアスが付きます。

また、function/sproc名とそのSQLコードという2つのカラムを持つテーブルがあります。

I(好ましくはSQLが、C位であることができる)方法を探しています上記SQLコードの次の結果の出力を希望

  • ユーザー名 - 姓
  • ユーザー名 - 姓
  • ユーザー名 - ユーザーID
  • アカウント - ユーザーID
  • アカウント - AccountNumberを

これを達成するための最良の方法は何でしょうか?私はINFORMATION_SCHEMA.COLUMNSで各SQLコード・セルを結合しようとしましたが、列名がCOLUMNS表に表示されているにもかかわらず、SQLコード・セル内のその特定の表に対して実際に使用されていないと言う結果が不正確になります。

おかげ

+1

私はちょっと混乱していますが、私はかなり密集しています。結果セットをループするのをバイパスする方法を使ってバイパスすることを検討していますか? –

答えて

0

は、おそらくあなたが見ているストアドプロシージャ/ファンクションの依存関係を見てみたいですか?

https://www.mssqltips.com/sqlservertip/1768/identifying-object-dependencies-in-sql-server/

例えば見てみましょうプロシージャ名がdbo.myprocの場合は、次のようになります。

SELECT '* ' + referenced_entity_name + ' - ' + referenced_minor_name 
FROM sys.dm_sql_referenced_entities ('dbo.myproc', 'OBJECT') 
WHERE referenced_minor_name is not null;