SQL Server IF ELSE条件分岐

SQLで、複数の条件分岐をしなければならなくなりました。IF文で、条件分岐を多段にしていくのではナンセンスだと思っていました。SWITCH CASEが有ればいいのになー、なんて思っていたけれど、難のことはない、IF文だけでOKなんですね。いやー、ハズカシー。

DECLARE @Type AS INT

/*
ここでは、@Type が 1 だったと仮定
ストアドプロシージャなどであれば、引数でもOKです
*/
SET @Type = 1

/*Type が 1 だった時の処理*/
IF @Type = 1
  BEGIN
    PRINT @Type
    SELECT * FROM MEMBER
  END

/*Type が 2 だった時の処理*/
IF @Type = 2
  BEGIN
    PRINT @Type
    SELECT * FROM CUSTMOER
  END

/*Type が 3 だった時の処理*/
IF @Type = 3
  BEGIN
    PRINT @Type
    SELECT * FROM ITEM
  END

/* ELSEに当たる処理はおまかせします */
IF @Type NOT IN (1,2,3)
  BEGIN
    PRINT 'No much!'
  END

これでも読んで勉強しようかしら。

SQL Hacks ―データベースを自由自在に操るテクニック

SQL Hacks ―データベースを自由自在に操るテクニック