2016-12-02 32 views
0

我得到一個語法錯誤,用下面的代碼:簡單的嵌套IF語法錯誤 - PL pgsql的

CREATE OR REPLACE FUNCTION max_bit_number(this_val bigint, prev_val bigint) RETURNS bigint AS $$ 
    BEGIN 
     IF this_val < prev_val THEN 
     IF prev_val > 4294967296 THEN 
      RETURN (9223372036854775807 - prev_val) + this_val; 
     ELSE RETURN (4294967296 - prev_val) + this_val; 
    ELSE RETURN prev_val - this_val; 
     END IF; 
     RETURN; 
    END; 
$$ LANGUAGE plpgsql; 

我想不通我要去哪裏錯了。

任何幫助表示讚賞。

+0

如果您修復了令人困惑的縮進問題,您可以立即看到丟失的「END IF;」。最後一個'RETURN;'沒有任何意義。去掉它。 –

回答

1

RETURN之前沒有END IF