Ovid <curtis_ovid_poe@yahoo.com> writes:
> I have a table with four values which are constantly lowered by user action. These four values must rise over time,
infive 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