From: Nathan Pickett <nathanpickett@hotmail.com>
To: pgsql-sql@postgresql.org
Cc: nathanpickett@hotmail.com
Subject: Making a prepared statement in a stored procedure
Date: Tue, 28 Dec 2004 17:12:03 +0000
Message-ID: <BAY103-F411E728D28553908F12F93A79A0@phx.gbl> (raw)
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_archive set 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: nathanpickett@hotmail.com
Subject: Re: Making a prepared statement in a stored procedure
In-Reply-To: <BAY103-F411E728D28553908F12F93A79A0@phx.gbl>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox