<br />jeff i feel the second subselect is required becoz *without* the where clause the <br />query:
<p><tt>UPDATE email_bank set userid=(select userid from t_a where</tt><br
/><tt>email_id=email_bank.email_id)</tt><p>wouldhave updated *all* records in email_bank (1 million) where as <br />i
wantto update only 35 K in those which are in t_a so "exists" is reqd. <p>i also feel UPDATE .. FROM is better Sql
forthis purpose which <br />can be written as: <p><tt>update email_bank set userid=t_a.userid from t_a</tt><br
/><tt>wheret_a.email_id = email_bank.email_id ;</tt><br /> <p>the above also puts my SQL in abnormnal state. <p>Yes
Jean UPDATE .. FROM works in 7.1.3. <p>acutally what i want to know is even if my SQL were wrong <br />what is the
wayout from the recovery mode? and less importantly <br />is my SQL really wrong? <p>regds <br />mallah. <br /> <br
/> <br /> <p>Jean-Luc Lachance wrote: <blockquote type="CITE">If I reacall, it (UPDATE ... FROM) does not work with
7.1.<br />I think it was added only in 7.2. <p> way is the only way with 7.1. <p>Bottom line Rajesh: you should upgrade
to7.2.1 <p>JLL <p>Jeff Eckermann wrote: <br />> <br />> I think the second subselect (in the EXISTS clause) is
<br/>> not necessary, as it will always return true if the <br />> where clause in the first subselect (in the
SET<br />> clause) is satisfied. <br />> <br />> Another way to write it (untested): <br />> update
email_bankset userid = t_a.userid <br />> where email_id = t_a.email_id; <br />> <br />> --- Rajesh Kumar
Mallah<mallah@trade-india.com></blockquote><br /> <blockquote type="CITE"><b>(consult mailing list
)</b></blockquote>