PostgreSQL/Postgre SQL/While — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 10:13, 26 мая 2010
Simple While LOOP
postgres=#
postgres=# CREATE FUNCTION "count_by_two" (integer) RETURNS integer AS "
postgres"# DECLARE
postgres"# userNum ALIAS FOR $1;
postgres"# i integer;
postgres"# BEGIN
postgres"# i := 1;
postgres"# WHILE userNum < 20 LOOP
postgres"# i = i+1;
postgres"# return userNum;
postgres"# END LOOP;
postgres"#
postgres"# END;
postgres"# " LANGUAGE "plpgsql";
CREATE FUNCTION
postgres=#
postgres=# select count_by_two(12);
count_by_two
--------------
12
(1 row)
postgres=#
Using the WHILE loop
postgres=#
postgres=#
postgres=# -- Using the WHILE loop
postgres=#
postgres=# CREATE FUNCTION add_two_loop (integer, integer) RETURNS integer AS "
postgres"# DECLARE
postgres"# -- Declare aliases for function arguments.
postgres"# low_number ALIAS FOR $1;
postgres"# high_number ALIAS FOR $2;
postgres"#
postgres"# -- Declare a variable to hold the result.
postgres"# result INTEGER = 0;
postgres"#
postgres"# BEGIN
postgres"# -- Add one to the variable result until the value of result is
postgres"# -- equal to high_number.
postgres"# WHILE result != high_number LOOP
postgres"# result := result + 1;
postgres"# END LOOP;
postgres"#
postgres"# RETURN result;
postgres"# END;
postgres"# " LANGUAGE "plpgsql";
ERROR: function "add_two_loop" already exists with same argument types
postgres=#
postgres=# select add_two_loop(1,20);
add_two_loop
--------------
20
(1 row)
postgres=#