Ovid <curtis_ovid_poe@xxxxxxxxx> writes: > I have a table with four values which are constantly lowered by user action. These four values must rise over time, in five minute intervals. The core of the function, in pseudo-code, would look something like this: > FOREACH row IN SELECT * FROM some_table WHERE some_percentages are less than 1 > LOOP > new_percentage = num_intervals * .1 > 1 > ? 1 > : num_intervals * .1; > UPDATE some_table SET some_percentages = new_percentage WHERE id = row.id > END LOOP > But, of course, doing that for four percentages (with at least one having a different increment value than .1) You could code that directly with CASE operations, but it would probably be easier to use GREATEST/LEAST, along the lines of new_percentage = LEAST(num_intervals * .1, 1); regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general