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
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 |