SQL Server のストアド プロシージャに "Select *" キーワードを含めることはできますか。「テーブル名から列名を選択」があってはいけません。特にT-SQLのストアドプロシージャで「select *」を使用するのは正しい方法ですか。
質問する
91 次
1 に答える
2
それをできる?はい。
それはすべきですか?ほぼ確実にそうではありません。
の使用例select *
は、将来テーブルに何が追加または削除されるかに関係なく、現在のすべての列を取得する必要がある状況に限定する必要があります。
これは、次のようないくつかの小さなシナリオにかなり限定されています。
- 物事をチェックするためにテーブル全体の出力が必要なデバッグ。また
- すべてが必要なテーブル ダンパーのようなツール。
すべてのユーザークエリは、必要な列のみを具体的に取得することをお勧めします。これは両方の理由からです。
- 有線転送を最小限に抑えます。と
- DBA がユーザーに知らせずに列の 1 つを削除した場所を簡単に検出できます。
ストアド プロシージャに非ユーザー クエリを使用してもほとんど意味がないため、おそらくそれらからは使用しない select *
でください。
于 2013-02-05T05:00:47.533 に答える