Making a prepared statement in a stored procedure

Поиск
Список
Период
Сортировка
От Nathan Pickett
Тема Making a prepared statement in a stored procedure
Дата
Msg-id BAY18-F34B976DDCCFCFAAA416317A79C0@phx.gbl
обсуждение исходный текст
Список pgsql-sql
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




В списке pgsql-sql по дате отправления:

Предыдущее
От: "Ishay Pomerantz"
Дата:
Сообщение: Problem with subquery containg GROUP BY
Следующее
От: Jose Mendoza
Дата:
Сообщение: Function in C++