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: Johannes Lebek <reply-to-newsgroup_at_domain.com>
Date: Wed, 07 Jul 2004 10:21:18 +0200
Message-ID: <ccgbpu$16ag$1@sp15en20.hursley.ibm.com>


Hi Daniel,

I thank you for your reply.
As I assume you do know, what an IN list is, "IN (?)" is used for prepared statements in JDBC. In this case, it is an IN list with just one list member. If there was a list with 5 members "IN (?, ?, ?, ?, ?)" would have been used.
Please, see my response to Sybrand Bakker for more details. Regards,

Johannes

Daniel Morgan wrote:

> Johannes Lebek 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'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? If yes, why does this apply to subselects but not to
>> recursion?
>>
>> Any help is greatly appreciated!
>> Thanks in advance,
>>
>> Johannes
> 
> 
> Without a clue as to what IN (?) is I can only guess.
> 
> And my guess is that you put together a huge list of parameters.
> 
> Daniel Morgan
> 
Received on Wed Jul 07 2004 - 03:21:18 CDT

Original text of this message

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