| From: | Avi Schwartz <avi(at)CFFtechnologies(dot)com> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Cc: | elein(at)varlena(dot)com |
| Subject: | is General Bits Issue # 43 correct? |
| Date: | 2003-09-15 03:23:33 |
| Message-ID: | FC8DEA7D-E72B-11D7-A5E9-000393AE5044@CFFtechnologies.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
In this issue the following statement is made:
"In plpgsql, you cannot run a dynamic SELECT statement and be able to
do anything with the selected data. You cannot assign the selected
value to a variable or return the selected value from the function. You
can, however, easily construct INSERT, UPDATE and DELETE statements as
well a DDL (Data Definition Language: CREATE, ALTER, etc.)"
This is not my experience. For example, I am doing the following in my
code and it works just fine:
for v_tmp in execute ''select min(list_price) as price_selected_min,
max(list_price) as price_selected_max
from table1
where xx_id = '' || p_xx_id ||
'' and date_deleted is null'' loop
v_price_selected_min := v_tmp.price_selected_min;
v_price_selected_max := v_tmp.price_selected_max;
end loop;
It works just fine for me.
I also can return result set using
for r in execute ''select statement'' loop
return next r;
end loop;
Avi
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2003-09-15 03:26:57 | Re: case-insensitive database |
| Previous Message | Christopher Browne | 2003-09-15 03:05:51 | Re: need for in-place upgrades (was Re: State of |