CREATE OR REPLACE FUNCTION fibonacci (n INTEGER)
RETURNS INTEGER AS $$
DECLARE
counter INTEGER := 0;
i INTEGER := 0;
j INTEGER := 1;
BEGIN
IF (n < 1) THEN
RETURN 0;
END IF;
LOOP
EXIT WHEN counter = n;
counter := counter + 1;
SELECT j, i + j INTO i, j;
END LOOP;
RETURN i;
END;
$$ LANGUAGE plpgsql;
Привет всем, я думаю, что приведенный выше код прост, но я не понимаю, как работает одна строка,
SELECT j, i + j INTO i, j;
Я предполагаю, что j начинается с 1 и i = 1, когда n =1, когда N = 2, j становится 2, так что строка становится 2, 3 (i и J)
Однако i = 1, когда n = 2.Что я не так понял?