質問: @SQL + ' UNION ' --FETCH_STATUSが0のままであればUNIONを追加する END END CLOSE CUR DEALLOCATE CUR EXECUTE(@SQL) ``` 何れのループも1から10までの数値を出力します。 個人的な見解としてはループ文の中で完結している後者の書き方がよいではないのか?と考えていますが ループ内で条件をつけるよりもループ後、末尾の文字列を排除すべきなのでは?という意見もあがり 書き方としてどちらが適しているのかがわからなくなりました。 書き方をご教示頂けますと幸いです。 よろしくお願い致します。
回答: こういった処理に限った訳では無いですけど、仕様に関わるものは除き、if文などによる分岐は少なければ良いと思っているので、前者です。 余談ですが、実際の動的SQLでの実装でもそうしてます。 でも、unionで繋ぐような実装はしたことはありません。(正規化により回避してきた)