On Mon, 2002-03-04 at 07:45, Ivan Horvath wrote:
> Thanks for answer,
>
> here is the code of the stored procedure:
>
> DROP FUNCTION a_function();
>
> CREATE FUNCTION a_function () RETURNS interval AS '
In 7.2 you can now do CREATE OR REPLACE FUNCTION... rather than DROP
followed by CREATE.
> DECLARE
> process_time interval;
> BEGIN
> FOR i IN 1..10000 LOOP
> INSERT INTO unit (unit_name, mod_date)
> VALUES (''a'', current_timestamp);
> END LOOP;
>
> select into process_time max(mod_date) -
> min(mod_date) from unit;
>
> RETURN process_time;
>
> END;'
> LANGUAGE 'plpgsql';
All operations within a plpgsql procedure happen within a transaction
and within a transaction current_timestamp does not change (by design).
So each separate call to this procedure will produce 10000 identical
inserts.
--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
"Give, and it will be given to you. A good measure,
pressed down, taken together and running over,
will be poured into your lap. For with the same
measure that you use, it will be measured to
you." Luke 6:38