CREATE OR REPLACE FUNCTION myfunction(integer) RETURNS integer AS ' DECLARE nm ALIAS FOR $1; cub INTEGER; BEGIN cub:=nm; WHILE cub <=3 LOOP cub := cub * cub * cub; END LOOP; RETURN cub; END; ' LANGUAGE 'plpgsql'; SELECT myfunction(2); -- 10. Cykly, FOR [ <<label>> ] FOR identifier IN [ REVERSE ] expression1 .. expression2 LOOP statement; [...] END LOOP; CREATE OR REPLACE FUNCTION myfunction(dt DATE) RETURNS INTEGER AS $$ DECLARE ddt DATE; num INTEGER; x INTEGER; BEGIN ddT := dt; x := EXTRACT(MONTH FROM dt); FOR i IN 1 .. 31 LOOP num := i; EXIT WHEN EXTRACT(MONTH FROM ddt + i * INTERVAL '1 DAY') <> x; END LOOP; RETURN num-1; END; $$ LANGUAGE PLPGSQL; SELECT myfunction(CURRENT_DATE);
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎