X-Original-To: pgsql-sql@postgresql.org Received: from spampd.localdomain (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 5A08F475F09 for ; Mon, 24 Mar 2003 09:30:45 -0500 (EST) Received: from smtp.web.de (smtp03.web.de [217.72.192.158]) by postgresql.org (Postfix) with ESMTP id AB735475A8D for ; Mon, 24 Mar 2003 09:30:44 -0500 (EST) Received: from p50818712.dip0.t-ipconnect.de ([80.129.135.18] helo=web.de) by smtp.web.de with asmtp (TLSv1:RC4-MD5:128) (WEB.DE(Exim) 4.97 #53) id 18xSyN-00034V-00 for pgsql-sql@postgresql.org; Mon, 24 Mar 2003 15:30:47 +0100 Message-ID: <3E7F1695.5050101@web.de> Date: Mon, 24 Mar 2003 15:30:45 +0100 From: Andreas Pflug User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212 X-Accept-Language: en-us, en MIME-Version: 1.0 To: pgsql-sql@postgresql.org Subject: UPDATE FROM portability Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-11.1 required=5.0 tests=BAYES_01,RCVD_IN_NJABL,UPPERCASE_25_50, USER_AGENT_MOZILLA_UA autolearn=ham version=2.50 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.50 (1.173-2003-02-20-exp) X-Archive-Number: 200303/545 X-Sequence-Number: 12583 Updating some rows in tab1 with corresponding values from tab2, pgsql style: UPDATE tab1 SET value=T2.VALUE FROM tab2 T2 WHERE T2.restr=1 AND tab1.key=T2.key <<<<<< The same for MSSQL: UPDATE tab1 SET value=T2.VALUE FROM tab1 T1 JOIN tab2 T2 ON T1.key=T2.Key <<<<<< WHERE T2.restr=1 I'm looking for a portable query style, without using a subquery in the SET clause (which could make things quite slow) Any hints? Regards, Andreas