Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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);
Advertisement
Add Comment
Please, Sign In to add comment