Hi,
I am trying to convert the following function below:
---START FUNCTION
create or replace function
update_tmp_sales_report_from_archive_with_prospects() returns integer as '
declare row_data record;
begin for row_data in select partner_id, count(*) as prospects from
prospects_2004_09_01 group by partner_id loop update tmp_sales_report_from_archive set prospects =
row_data.prospects where partner_id = row_data.partner_id; end loop;
return 1;
end;
' language 'plpgsql';
--- END FUNCTION
to be able to pass in the table named prospects_2004_09_01, to be prospects_
concatanated with the date, so prospects_2004_08_01, prospects_2004_07_01,
etc.
I tried the following:
-- START TEST FUCTION
drop function update_tmp_sales_report_from_archive_with_prospects(text);
create or replace function
update_tmp_sales_report_from_archive_with_prospects(text) returns integer as
'
declare in_t ALIAS FOR $1; row_data record;
begin for row_data in select partner_id, count(*) as prospects in_t group by partner_id loop update
tmp_sales_report_from_archiveset prospects =
row_data.prospects where partner_id = row_data.partner_id; end loop;
return 1;
end;
' language 'plpgsql';
-- END TEST FUNCTION
but go the following errors:
DROP FUNCTION
CREATE FUNCTION
You are now connected as new user bp_sales_match_user.
psql:scratch.postgresql:36: WARNING: Error occurred while executing
PL/pgSQL function update_tmp_sales_report_from_archive_with_prospects
psql:scratch.postgresql:36: WARNING: line 5 at for over select rows
psql:scratch.postgresql:36: ERROR: parser: parse error at or near "$1" at
character 44
Any suggestions? Thanks! -Nate