50個以上の列を持つテーブルがありますが、わずかな列しか使用されていません。つまり、ストアド・プロシージャーがその表を使用するときは、select/whereステートメントの4-5列のみを参照します。残りの列は使用されません。私はちょうど実際に使用されているそれらの列をリストしたい。 1つの方法は、テーブルの依存関係を見つけ出し、すべてのSPを調べてどの列が使用されているかを調べることです。しかし、その場合私は約30 + Spを持っています。それを行うための効率的な方法はありますか?SQLサーバー内のテーブル内のすべての有用な列を見つけよう
0
A
答えて
2
これを試してみてください:
はTABLE_NAMEでselect name from syscomments c
join sysobjects o on c.id = o.id
where TEXT like '%table_name%' and TEXT like '%column_name%'
は、あなたが出力としてストアドプロシージャ名を取得する手順dependencies.Youをchckしたい列を与え、あなたのテーブルの名前を付けたcolumn_nameに
+0
ありがとうございました。これは行います。 – pKay
3
へ手順で複数の列を使用し、あなたはここで
create procedure sp_sample
@column_names varchar(200)
as
if @column_names='' or @column_nams is null
set @column_names='*'
exec ('select '[email protected]_name +' from table')
以下のようなコードを使用することができますいくつかの例は以下のとおりです。
exec sp_sample @columnname='id,name'
または
exec sp_sample @columnname='id,name,telphone'
0
あなたがSQL Server Data Toolsを使用してデータベースプロジェクトとしてデータベースをインポートする場合は、「すべての参照の検索」contextコマンドを使用して、テーブルまたは列へのすべての参照を見つけることができるようになります。これを特に有用なものにするのは正確さです。列を明示的には言わず、暗黙のうちにそれを参照するインスタンスがSELECT *
であっても検索されます。同様の名前を持つテーブルやカラムでも混同されることはありません(具体的な例はID
ですが、そうでなければ問題があります)。
カラムが全く参照されているかどうかを知りたい場合は、カラムを削除し、エラーリストに「未解決の参照」エラーがあるかどうかを確認することができます。
関連する問題
- 1. JavaScript:テーブル内のすべての「入力」を見つけよう
- 2. テーブル内の2つの列で重複を見つけよう
- 3. SQL Server:テーブル内の上位5つの要素とそれらのすべてのオカレンスを見つけよう
- 4. SQLサーバーのツリー構造内のサブツリーの下にあるすべてのリーフノードを見つけよう
- 5. SQLテーブル内のテキスト文字列で改行を見つける?
- 6. preg_match()はテーブル内のすべての値を見つけるか?
- 7. 配列内の単語のすべての出現を見つけよう
- 8. ネットワーク内のすべてのSQL Serverを見つける
- 9. java regex文字列内のすべての空白を見つけよう
- 10. SQL - テーブル内の5つの数字を見つける
- 11. 列内のすべての非整数を見つける
- 12. 配列内のすべての小数点を見つける
- 13. Oracle SQL - ジョインを使用して別のテーブルではなく1つのテーブル内の値を見つける
- 14. アクティブレコード:テーブル内のn番目の行を見つけよう
- 15. Oracle SQLを使用してテーブル内の有効な組み合わせを見つける方法
- 16. テーブル内の異なる値のペアをすべて見つける方法
- 17. SQL関連テーブルの中で最も有効な日付を見つけよう
- 18. グラフ内の無用なエッジを見つけよう
- 19. 配列内の配列をjavacriptで見つけよう
- 20. パンダのデータフレーム内の重複する行をすべて見つけよう
- 21. 配列内の最初のpseudopalindromeを見つけよう
- 22. 各行について、列内に同じ値を持つすべての行を見つけよう
- 23. 合計が等しいバイナリツリー内のすべてのパスを見つけよう
- 24. 正規表現[test](http://)内のすべてのhttpを見つけよう
- 25. 集計なしでSQLサーバー内の2つのテーブルをPIVOT
- 26. wpfスタイル内の内側のグリッドを見つけよう
- 27. SQL Developerでは、データベース内のすべてのテーブルのすべての列の異なる値を見つける方法は?
- 28. SQLはテーブル内の部分的な重複を見つけます
- 29. どのように私は内部結合ですべてを見つける
- 30. 配列内で定義するのではなく、モデル内のすべての変数を見つける
私は辞書でそれを探していますが、覚えていません...列の使用(d)何か。 – jarlh
テーブル内の有用な列によって私は、いくつかのストアドプロシージャがそれらの列を参照していることを意味します。私のdbにspがテーブル内の特定のカラムを参照していない場合、そのカラムは私にとって役に立たない。 – pKay