中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

Case 式をどんどん使おう

このへんのテクニックはおがわさんの受け売りですが(^^;;

ポストIDが指定されていれば、where条件とする。という場合に

strSQL = "select * from [T-ポスト]";
If ( strポストID != null )
{
    strSQL + " where ポストID = '"  & strポストID &  "'";
}

こんな風にSQL文を動的に生成しなくちゃいけないと思い込んでいませんか?

select *
from [T-ポスト]
where ポストID = case when @ポストID is not null then @ポストID else ポストID end

こんな風に書くだけで、実現することが可能です。

もちろん動的にしないといけない場面も多々ありますが、それを理由にストアドプロシージャから逃げ回るより積極果敢に利用してみませんか?

ストアドの中でも動的SQL書けますし。

投稿日時 : 2006年8月17日 2:14

コメントを追加

# re: Case 式をどんどん使おう 2006/08/21 20:56 河端善博

そうですね、SQL の CASE は意外なほど使えますね。
なお、できれば、CASE 利用時の実行プランも見ていただけるといいですね。
できるのと、効率がいいのは違うので。

タイトル
名前
URL
コメント