Oracle error Unable to perform query [message #667208] |
Thu, 14 December 2017 21:51 |
|
Manish Jha
Messages: 4 Registered: December 2017
|
Junior Member |
|
|
Hi all,
I'm facing a problem. In form we merge multiple vouchers together, after merging system will generate a common merge voucher number in the screen corresponding to each voucher. Up to 1000 system is able to merge and query data block to display in the screen. Once we increase to 1001 or more. system unable to query in the screen after merge, it is saying unable to perform query.
below is the code.
varable ct_mv_2 is varchar2 and this variable holds multiple value like ('MVN1','MVN2'............untill 1001 times)
value for MVN1, MVN2 is same.
if ct_mv_2 is not null then
SET_BLOCK_PROPERTY('PYMT_VOU_MASTER',DEFAULT_WHERE,'V_merged_vou_no in '||ct_mv_2);
end if;
GO_BLOCK('PYMT_VOU_MASTER');
EXECUTE_QUERY;
Kindly help and let me know your experience on it.
|
|
|
|
|
|
|
|
Re: Oracle error Unable to perform query [message #667236 is a reply to message #667235] |
Fri, 15 December 2017 10:03 |
|
Littlefoot
Messages: 21823 Registered: June 2005 Location: Croatia, Europe
|
Senior Member Account Moderator |
|
|
I'd say that "1000" is the keyword here. IN can contain up to 1000 elements (as the OP said in the initial message):Quote:
Up to 1000 system is able to merge and query data ...
varable ct_mv_2 is varchar2 and this variable holds multiple value like ('MVN1','MVN2'............until 1001 times)
This is a know restriction.
So, if you have to deal with more than 1000 elements in the IN list, the simplest solution is to store them into a table (you know, INSERT INTO ...) and use that table in subquery as
SET_BLOCK_PROPERTY
('PYMT_VOU_MASTER',
DEFAULT_WHERE,
'V_merged_vou_no in (select column_name from your_table)'
);
[Updated on: Fri, 15 December 2017 10:03] Report message to a moderator
|
|
|
|