SQL для начинающих


Оператор CASE с поиском



Оператор CASE с поиском

Оператор CASE с поиском аналогичен простому оператору CASE, за исключением того, что используется несколько условных выражений, а не одно. Например:

CASE

WHEN vmajor

        IN ('Computer Science', 'Electrical Engineering')

        THEN INSERT INTO geeks (StudentID, Fname, Lname)

            VALUES(:sid, :sfname, :slname) ;

    WHEN vclub

        IN ('Amateur Radio', 'Rocket1,'Computer')

        THEN INSERT INTO geeks (StudentID, Fname, Lname)

            VALUES(:sid, :sfname, :slname) ;

    ELSE

        INSERT INTO poets (StudentID, Fname, Lname)

            VALUES(:sid, :sfname, :slname) ;

    END CASE

Чтобы избежать возможности возникновения исключения, следует поместить всех студентов, которые не являются "физиками" (geeks), в таблицу poets ("лирики")- Конечно, не все "не физики" являются "лириками" — ведь есть же еще и "футболисты", не говоря уже о "химиках". Это не меняет сути дела, так как в оператор CASE всегда можно добавить еще несколько предложений WHEN.



Содержание раздела