変数を割り当てるときにSETとSELECTのどちらを使うか?質問する

変数を割り当てるときにSETとSELECTのどちらを使うか?質問する

T-SQL で変数を割り当てるときのステートメントSETとステートメントの違いは何ですか?SELECT

ベストアンサー1

引用、これはこの記事:

  1. SET は変数割り当ての ANSI 標準ですが、SELECT はそうではありません。
  2. SET では一度に 1 つの変数のみを割り当てることができますが、SELECT では一度に複数の割り当てを行うことができます。
  3. クエリから割り当てる場合、SET はスカラー値のみを割り当てることができます。クエリが複数の値/行を返す場合、SET はエラーを発生させます。SELECT は値の 1 つを変数に割り当て、複数の値が返されたという事実を隠します (そのため、他の場所で問題が発生した理由がわからない可能性が高くなります。トラブルシューティングを楽しんでください)
  4. クエリから割り当てる場合、値が返されない場合、SET は NULL を割り当てますが、SELECT はまったく割り当てを行いません (したがって、変数は以前の値から変更されません)。
  5. 速度の違いに関しては、SET と SELECT の間に直接的な違いはありません。ただし、SELECT は 1 回のショットで複数の割り当てを行うことができるため、速度面で SET よりもわずかに優れています。

おすすめ記事