Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: ORA-01795 although there is just 1 parameter used!

Re: ORA-01795 although there is just 1 parameter used!

From: Tony <andrewst_at_onetel.net.uk>
Date: 7 Jul 2004 04:12:14 -0700
Message-ID: <c0e3f26e.0407070312.58d14a7b@posting.google.com>


Sybrand Bakker <sybrandb_at_hccnet.nl> wrote in message news:<5emle0p2ql5jq5milju5s0o9mpijohsb9l_at_4ax.com>...
> On Tue, 06 Jul 2004 18:08:07 +0200, Johannes Lebek
> <reply-to-newsgroup_at_domain.com> wrote:
>
> >Hi @ll,
> >
> >I got the following error on my Oracle 9.2 machine:
> >
> >java.sql.SQLException: ORA-01795: maximum number of expressions in a
> >list is 1000
> >
> >
> >
> >However, the statement in question is:
> >
> >SELECT col1, col2, col3, col4, col5, col6, col7, col8, col9, col10,
> >col11, col12, col13, col14, col15, col16, col17, col18, col19, col20,
> >col21, col22 FROM table START WITH col1 IN (?) CONNECT BY (PRIOR col1 =
> >col8)
> >
> >
> >
> >The original statement definitely does not have too many parameters.
> >Is the problem caused by the RECURSION?
>
> I don't see recursion anywhere. I also don't see the contents of the
> parameter referred to by the (?) construct. So: who can tell.
>
> >
> >I've heard that a subselect like SELECT * FROM table WHERE col1 IN
> >(SELECT col2 FROM table) is not affected by the 1000-expressions-limitation.
> >Is this true?
> Yes.
>
> If yes, why does this apply to subselects but not to
> >recursion?
> >
> explain what your definition of recursion is.

A CONNECT BY query is commonly known as a "recursive" query, because it performs logic that behaves recursively! Received on Wed Jul 07 2004 - 06:12:14 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US