×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Jon, don't worry about it.  Unless you are on an old version of OS/400,
"EXISTS(SELECT 1" and EXISTS(SELECT*" should give you the same results and
the same access plan.

SELECT 1 is an old optimizer trick DBA's use to limit the amount of data
returned to the satisfy the exists clause (thus limiting memory and I/O
usage).  However, nowadays, I find most RDBMS's properly identify EXISTS
clauses and perform just enough I/O to satisfy the  equality comparisons
only.

Ryan


"John Candidi" <jacandidi@xxxxxxxxxxxxxxxxxxxx>
wrote in message news:00b601c65753$bc6dc390$560a0a0a@xxxxxxxxxxxxxxxxxxxxxxx
> Elvis, what does this 1 represent?
>
> EXISTS (SELECT 1
>
> -----Original Message-----
> From: midrange-l-bounces@xxxxxxxxxxxx
> [mailto:midrange-l-bounces@xxxxxxxxxxxx] On
Behalf Of Elvis Budimlic
> Sent: Monday, April 03, 2006 1:56 PM
> To: 'Midrange Systems Technical Discussion'
> Subject: RE: SQL - Updates with joins
>
> Joined file SQL view is likely to be read-only, hence it would not
> updateable.
> John needs to review UPDATE syntax a bit as there is no FROM in the base
> UPDATE syntax (there is in subselects, which are often used in UPDATEs for
> join purposes).
> I'll give it a go for your UPDATE statement, but make sure you test it
first
> John:
>
> UPDATE rugd80dat.asbacpp r1
> SET bai1tx = 'N', bai2tx = 'N'
> WHERE (r1.baartx = 'APV' or r1.baartx = 'MPV' or r1.baartx = 'SPV' or
> r1.baartx = 'EPV')
> AND r1.bai1tx = ' ' and r1.bai2tx = ' ' AND
> EXISTS (SELECT 1 FROM rugd80dat.pmsp0200 r2
> WHERE r1.baartx = r2.symbol and r1.baastx = r2.policy0num and r1.baadnb =
> r2.module AND r2.trans0stat = 'V' and r2.renewal0cd = '1')
>
> Elvis
>
> -----Original Message-----
> Subject: Re: SQL - Updates with joins
>
> I've never seen an update statement with a FROM clause or a JOIN for that
> matter.   I suggest creating a view that combines the two files and then
> run the update over the new view.
>
> Michael Schutte
> Work 614-492-7419
> email  michael_schutte@xxxxxxxxxxxx
>
>
>
>              "John Candidi"
>              <jacandidi@rutger
>              sinsurance.com>                                            To
>              Sent by:
<midrange-l@xxxxxxxxxxxx>
>              midrange-l-bounce                                          cc
>              s@xxxxxxxxxxxx
>                                                                    Subject
>                                        SQL - Updates with joins
>              04/03/2006 02:18
>              PM
>
>
>              Please respond to
>              Midrange Systems
>                  Technical
>                 Discussion
>              <midrange-l@midra
>                  nge.com>
>
>
>
>
>
>
> I am having a problem generating the correct SQL script run in iSeries
> Navigator.
>
>
>
> This is what I have so far:
>
>
>
> Update rugd80dat.asbacpp
>
> set bai1tx = 'N', bai2tx = 'N'
>
> from rugd80dat.asbacpp r1,rugd80dat.pmsp0200 r2
>
> where (r1.baartx = r2.symbol and r1.baastx = r2.policy0num and r1.baadnb =
> r2.module)
>
> and (r1.baartx = 'APV' or  r1.
>
> baartx = 'MPV' or r1.baartx = 'SPV' or r1.baartx = 'EPV')
>
> and (r1.bai1tx = ' ' and r1.bai2tx = ' ')
>
> and (r2.trans0stat = 'V' and r2.renewal0cd = '1')
>
> When run as a select statement, it returns the correct rows.  When changed
> to do the actual update, it reports an unexpected 'from'.  Any
> recommendations?  I tried with a 'where exists' with a select subquery,
but
> it ended up hitting all the rows in the asbacpp table, not just the
handful
> in the query result.
>
>
>
> John A Candidi
>
> Rutgers Insurance Companies
>
> IT Director - AS/400 Manager
>
> 856-779-2274
>
>
>
> -- 
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
> To post a message email:
MIDRANGE-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/midrange-l.
>
> -- 
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
> To post a message email:
MIDRANGE-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/midrange-l.
>
>




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 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.