Port Oracle to PostgreSQL Compiere

From: Victor <victor(dot)perez(at)e-evolution(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Port Oracle to PostgreSQL Compiere
Date: 2005-07-04 18:11:11
Message-ID: 200507041311.12338.victor.perez@e-evolution.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola A todos

solo quiero confirmar que no exista otra forma de convertir esta sentencia de
Oracle a PostgreSQL

ORACLE

UPDATE AD_User SET
(C_Greeting_ID,Name,Title,Description,Comments,Phone,Phone2,Fax,EMail,Birthday,Updated,UpdatedBy)=(SELECT
C_Greeting_ID,ContactName,Title,ContactDescription,Comments,Phone,Phone2,Fax,EMail,Birthday,SysDate,UpdatedBy
FROM I_BPartner WHERE I_BPartner_ID=? WHERE AD_User_ID=?

PostgreSQL
UPDATE AD_User SET C_Greeting_ID=(SELECT C_Greeting_ID FROM I_BPartner WHERE
I_BPartner_ID=?) ,Name=(SELECT Name FROM I_BPartner WHERE
I_BPartner_ID=?) ,Title=(SELECT Title FROM I_BPartner WHERE
I_BPartner_ID=?) ,Description=(SELECT Description FROM I_BPartner WHERE
I_BPartner_ID=?) ,Comments=(SELECT Comments FROM I_BPartner WHERE
I_BPartner_ID=?) ,Phone=(SELECT Phone FROM I_BPartner WHERE
I_BPartner_ID=?) ,Phone2=(SELECT Phone2 FROM I_BPartner WHERE
I_BPartner_ID=?) ,Fax=(SELECT Fax FROM I_BPartner WHERE
I_BPartner_ID=?) ,EMail=(SELECT EMail FROM I_BPartner WHERE
I_BPartner_ID=?) ,Birthday=(SELECT Birthday FROM I_BPartner WHERE
I_BPartner_ID=?) ,Updated=(SELECT Updated FROM I_BPartner WHERE
I_BPartner_ID=?) ,UpdatedBy=(SELECT UpdatedBy FROM I_BPartner WHERE
I_BPartner_ID=?) WHERE AD_User_ID=?<= <UPDATE AD_User SET
C_Greeting_ID=(SELECT C_Greeting_ID FROM I_BPartner WHERE
I_BPartner_ID=?) ,Name=(SELECT Name FROM I_BPartner WHERE
I_BPartner_ID=?) ,Title=(SELECT Title FROM I_BPartner WHERE
I_BPartner_ID=?) ,Description=(SELECT Description FROM I_BPartner WHERE
I_BPartner_ID=?) ,Comments=(SELECT Comments FROM I_BPartner WHERE
I_BPartner_ID=?) ,Phone=(SELECT Phone FROM I_BPartner WHERE
I_BPartner_ID=?) ,Phone2=(SELECT Phone2 FROM I_BPartner WHERE
I_BPartner_ID=?) ,Fax=(SELECT Fax FROM I_BPartner WHERE
I_BPartner_ID=?) ,EMail=(SELECT EMail FROM I_BPartner WHERE
I_BPartner_ID=?) ,Birthday=(SELECT Birthday FROM I_BPartner WHERE
I_BPartner_ID=?) ,Updated=(SELECT Updated FROM I_BPartner WHERE
I_BPartner_ID=?) ,UpdatedBy=(SELECT UpdatedBy FROM I_BPartner WHERE
I_BPartner_ID=?) WHERE AD_User_ID=?

Como resultado que postgresql no soporte actualizar multiples campos des de un
SELECT tienes que hacer lo anterior que es ineficiente y complica tener que
pasar I_BPartner_ID=? varias veces en un preparateStatement.

Alguna sugerencia
Saludos
Victor

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juanky Moral 2005-07-04 18:42:44 Re: Port Oracle to PostgreSQL Compiere
Previous Message ergutier 2005-07-04 16:53:45 Manual con las funciones de pl/pgsql