CASE version
CASE stoplight
WHEN 'red' THEN Action('Stop');
WHEN 'yellow' THEN Action('SlowDown');
WHEN 'green' THEN Action('Go');
ELSE Action('Caution');
END CASE;
WHEN 'red' THEN Action('Stop');
WHEN 'yellow' THEN Action('SlowDown');
WHEN 'green' THEN Action('Go');
ELSE Action('Caution');
END CASE;
IF THEN ELSE version
IF stoplight = 'red' THEN
Action('Stop');
ELSIF stoplight = 'yellow' THEN
Action('SlowDown');
ELSIF stoplight = 'green' THEN
Action('Go');
ELSE
Action('Caution');
END IF;
Some says that using CASE construct expresses the programmer's intent better and explicitly expresses that the given cases are the one that only needs handling.
CASE STATEMENT AND CASE EXPRESSION
A variation of CASE construct allows you to use it for output / assigning values. (pretty neat)
evaluation :=
CASE
WHEN grade BETWEEN 90 AND 100 THEN 'very good'
WHEN grade BETWEEN 80 AND 89 THEN 'good'
WHEN grade BETWEEN 70 AND 79 THEN 'fair'
ELSE 'fail'
END;
CASE_NOT_FOUND
this exception object is thrown when you don't provide an ELSE case and no case handles the given parameter passed to the statement.
(TODO: expound)
No comments:
Post a Comment