Thank you for your reply. Indeed I meant any "table", sorry for the
confusion .

I also get the expected results with:

SELECT  (2+3), cursor(select 2+3 from dual), cursor(select 2+3 from
dual) FROM dual where rownum < 10

5 DBI::st=HASH(0x3bf9540) DBI::st=HASH(0x3d9ee70)       5       5

If I do :

select analysis_id from analysis where rownum < 10

I get the expected rows.

select analysis_id, cursor(select 2+3 from dual) from analysis where rownum
< 10

It works fine.

BUT:

select analysis_id, cursor(select 2+3 from dual), cursor(select 2+3 from
dual)  from analysis where rownum < 10

Returns nothing with no errors. There is nothing special about this or any
other table in this database.

Many thanks,
LK








On Thu, Aug 5, 2010 at 4:46 AM, Charles Jardine <c...@cam.ac.uk> wrote:

> On 04/08/10 19:27, LK wrote:
> > In the process of moving from centos 4 to a centos 5 machine one
> > script stopped working. I distilled it down to this problem :
>
> [snip]
>
> > my $q = qq/
> >   SELECT
> >               (2+3),
> >         cursor(select 2+3 from dual),
> >         cursor(select 3+3 from dual)
> >         FROM table where rownum < 10
> > /;
>
> [snip]
>
> I am the author of the code in DBD::Oracle which supports nested cursors.
> I am trying to reproduce your problem.
>
> THE SQL statement quoted above cannot be exactly what you are using,
> because
> 'table' is a reserved word. If I substitute 'dual' for 'table', I get the
> expected results.
>
> Can you let us know whether your problem can be reproduced with 'dual' as
> the
> FROM clause. If not, can you tell us what, if anything, is special about
> the
> actual FROM clause in your test.
>
> --
> Charles Jardine - Computing Service, University of Cambridge
> c...@cam.ac.uk    Tel: +44 1223 334506, Fax: +44 1223 334679
>

Reply via email to