|
Hey Rick, This is the optimum solution I believe. FOUND = *OFF SELECT '1' INTO :FOUND FROM FILE WHERE FIELD LIKE '___abc___' FETCH FIRST 1 ROWS ONLY Mark > ----- Message from "rick baird" <rick.baird@xxxxxxxxx> on Tue, 18 > Apr 2006 10:56:16 -0400 ----- > > To: > > "Midrange Systems Technical Discussion" <midrange-l@xxxxxxxxxxxx>, > "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx> > > Subject: > > SQL to only check for existence: > > hey all, > > Is there a way to run an SQL statement that doesn't (necessarily) > return anything, but only checks for the existence of one or more > records based on a where statement - similar to a SETLL and %found? > > I've got a rather complicated SQL statement using: > LIKE '___abc___' or it could be: > LIKE ______xyz' > > - over a very large file, and I'm having performance issues. > > I don't want to do a count(), because I don't care how many, only that > at least one exists. with count, it would have to read through the > entire file to determine it. > > I also tried just doing a select - optimize for 1 row and a single > fetch, but that seemed to take forever too. It appears as if it is > searching the entire file, instead of stopping at the first one. > > help! > > Rick
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.