¿Es posible modificar varias tablas utilizando la función merge
en Oracle? En cada caso diferentes operaciones necesitan ser tomadas, como:Fusionar: modificar tablas múltiples
MERGE INTO users tab1
USING(SELECT 1 id, 10 points FROM dual) tab2
ON(tab1.id = tab2.id)
WHEN MATCHED THEN
UPDATE SET points = tab2.points
UPDATE "abc" = action.status -- another table
WHEN NOT MATCHED THEN
INSERT(id, points) VALUES(tab2.id, tab2.points)
UPDATE "def" = action.status -- another table
"Sin embargo, con una vista actualizable, puede realizar una inserción/actualización de varias tablas". Apenas. Busqué ([y pregunté] (http://stackoverflow.com/questions/37690394)) y parece no ser compatible. Un error típico es: 'ORA-38106: MERGE no es compatible con la vista de unión o vista con el gatillo INSTEAD OF. –