Skip site navigation (1) Skip section navigation (2)

Problem with inserting data produced by the function (when the function is performed).

From: Bear <beatabogdanowicz(at)gmail(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Problem with inserting data produced by the function (when the function is performed).
Date: 2012-03-21 08:30:45
Message-ID: d49d2379-34f2-413e-8992-708ec3e54389@r27g2000vbn.googlegroups.com (view raw or flat)
Thread:
Lists: pgsql-sql
The function calculates the data line by line, and inserts into the
table, at the end of the function I need to send data from a table to
another database via dblink. I noticed that the problem is to perform
this operation in one function (or the main function of the two
subfunction). My guess is that unless the function has finished
running postgres no data dumps. Data is available in the table after
the function finished, and I can send them without a problem.
The operation must be done in one function or the main function and
two of subfunction (first subfunction loads the data into a table,
second subfunction sends data to another database via dblik).

How to force a permanent record of data in a table when executing the
function?

Sample code:
------------------------------
CREATE OR REPLACE FUNCTION filter_reports_yesterday()
  RETURNS void AS
$BODY$declare
target_table_name varchar;
res record;
cr cursor for
	select distinct substr(tablename, 0, position('_row' in tablename))
as adr_sym from pg_tables
	where tablename like '%_row' and schemaname = 'arch_'||
to_char((current_date-1),'YYYY_MM');
al_cr refcursor;
begin
	for res in cr
	loop
		--first subfunction generating data in table
		execute 'select packet_filter_yesterday('''||(current_date-1)||''',
'''||res.adr_sym||''')';
		target_table_name := 'rap_' || to_char((current_date-1),'YYYY_MM')
|| '.' || res.adr_sym || '_fil';

		--second function inserting data from table to another database via
dblink
		execute 'select insert_FS3('''||target_table_name||''')';

	end loop;
end$BODY$
  LANGUAGE plpgsql
------------------------------
When doing the first function (for a single table, no loops) and after
the second run separately the data is sent. When both feature walk in
a loop in main function is the result of lack of data.

thanks in advance

pgsql-sql by date

Next:From: Lee HachadoorianDate: 2012-03-22 19:47:04
Subject: Fill array with series
Previous:From: Bèrto ëd SèraDate: 2012-03-20 15:24:11
Subject: Re: Setting the process title, or can I?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group