Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Converting a 'select' into dynamic SQL
Oracle 9iR2
Hi folks, in the pl/sql excerpt below I want to be able to replace the subquery starting "select c02_show label, sum(c03_show) value ..." with some dynamic (by which I mean that part of the query needs to be built at run time, the rest remains static) SQL.
begin
for i in (select xmlelement
("chart", xmlattributes (p_caption as "caption", p_subcaption as "subcaption", p_xaxisname as "xAxisName", p_yaxisname as "yAxisName"), xmlagg (xmlelement ("set", xmlattributes(x.label as "label", x.value as "value") ) ) ) as result
--
-- this bit coming up needs to be variable
--
from (select c02_show label, sum(c03_show) value from ic_grid_rows where grid_id = p_grid_id group by c02_show) x ) loop l_clob := xmltype.extract(i.result,'/').getclobval; exit;
As far as I have been able to ascertain, I can't simply turn this into an
execute immediate 'select ..... ' into my_var;
Unless I am being very stupid (and perhaps I am!) I had thought I might be able to define a variable (e.g. my_var) and associate it with a "type" that could match the output of this select statement below.
How should I define my_var in order to be able to achieve this?
thanks for any input
-- jeremy ============================================================ ENVIRONMENT: Oracle 9iR2 / Oracle HTTP Server / mod_plsql / Solaris 8 ============================================================Received on Wed Dec 06 2006 - 10:16:58 CST