Tengo una tabla A tiene columna (id, campo_1, campo_2), y otra tabla B tiene columna (id, campo_2)
Ahora quiero fusionar la tabla B a A, eso significa que quiero actualizar field_2 en la tabla A al valor de la tabla B. Entonces, ¿cómo implementar eso? Por cierto estoy usando Oracle
Gracias
Respuestas:
Un enfoque alternativo a la subconsulta correlacionada (sugerida por Kerri) sería utilizar la declaración MERGE, que podría ser más eficiente que la subselección (que solo puede verificarse mirando el plan de ejecución de ambas declaraciones).
fuente
MERGE
declaración es que no puede actualizar la columna en la que está unida, es decir, no puede actualizar la columna utilizada en laON
cláusula.ORA-01555: snapshot too old
No estoy exactamente seguro de lo que está buscando en este caso, pero esto debería funcionar como algo único o continuo a través de un trabajo programado:
Ahora, cada vez que se ejecuta lo anterior, lo hará en todas las filas de la tabla. Si esto es algo que necesita hacer todo el tiempo, sugeriría algo más, pero para tablas únicas o muy pequeñas debería ser suficiente.
fuente
He hecho esto con éxito usando una tabla en user1 de otra tabla en user2:
fuente
Puede crear un activador en la tabla B que actualice la tabla A cada vez que se actualice el campo_2 en la tabla B. Consulte aquí para obtener más información sobre la creación de activadores: http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_triggers.htm#BABCIBBJ
fuente