CREATE FUNCTION max (a INT, b INT) RETURNS INT AS
    $BODY$
        BEGIN
            IF (a > b) THEN
                RETURN a;
            ELSE
                RETURN b;
            END IF;
        END
    $BODY$
LANGUAGE 'plpgsql';


建立好後,只要執行 SELECT max (5, 7); 沒意外就可以看見回傳直是:7


CREATE OR REPLACE FUNCTION run(x INT) RETURNS TEXT AS
    $BODY$
        DECLARE msg TEXT; -- 宣告變數
        BEGIN
            CASE x
                WHEN 1, 2 THEN
                    msg := '一或二'; -- 冒號等於是指派的意思
                ELSE
                    msg := '其他數字';
                END CASE;
            RETURN msg;
        END
    $BODY$
LANGUAGE 'plpgsql';

建立好後:
執行 SELECT run (1); 沒意外就可以看見回傳直是:一或二
執行 SELECT run (3); 沒意外就可以看見回傳直是:其他數字


--------------------------------------------- 以下供參考:

IF :

  • IF ... THEN

  • IF ... THEN ... ELSE

  • IF ... THEN ... ELSIF ... THEN ... ELSE

 CASE:

  • CASE ... WHEN ... THEN ... ELSE ... END CASE

  • CASE WHEN ... THEN ... ELSE ... END CASE

----------------------- 運算子:

等於   :       =
不等於:       <>
大於   :       >
小於   :       <




arrow
arrow
    全站熱搜

    黃彥霖 發表在 痞客邦 留言(0) 人氣()