Re: Port Oracle to PostgreSQL Compiere

From: Juanky Moral <juanky(dot)moral(at)gmail(dot)com>
To: Victor <victor(dot)perez(at)e-evolution(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Port Oracle to PostgreSQL Compiere
Date: 2005-07-04 18:42:44
Message-ID: 463a53a4050704114213063063@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

EN POSTGRES:
UPDATE AD_User SET
AD_User.C_Greeting_ID=I_BPartner.C_Greeting_ID,
AD_User.Name=I_BPartner.Name,
....el resto de la comalist set...
FROM AD_User INNER JOIN I_BPartner ON
AD_User.C_Greeting_ID=I_BPartner.I_BPartner_ID;

O de forma más genérica:
UPDATE [ ONLY ] table SET column = { expression | DEFAULT } [, ...]
[ FROM fromlist ]
[ WHERE condition ]

2005/7/4, Victor <victor(dot)perez(at)e-evolution(dot)com>:
> 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
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 2: puedes desuscribirte de todas las listas simultáneamente
> (envíe "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)
>

--
Juanky Moral
"Tendré que moverme más rápido: el horizonte brilla eléctrico."
(Horizonte Eléctrico - www.losdeltonos.com )

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message ruben avila 2005-07-04 19:03:09 AYUDA CON PHP+POSTGRESQL
Previous Message Victor 2005-07-04 18:11:11 Port Oracle to PostgreSQL Compiere