Re: data move concept

  • From: Bill Ferguson <wbfergus@xxxxxxxxx>
  • To: chet.justice@xxxxxxxxx
  • Date: Wed, 19 Aug 2009 07:18:55 -0600

On Tue, Aug 18, 2009 at 8:35 PM, chet justice<chet.justice@xxxxxxxxx> wrote:
> It's fairly easy to roll your own PL/SQL solution, just a simple (hah!)
> INSERT INTO SELECT * FROM remote_table@db_link;
>
> chet



Depending on your data sources, needs, etc. you may also want to
consider using the MERGE command with your database links, if you will
be both inserting some information and updating other. I've just
finished a similar approach on my systems for a nightly 'update' job
on all my tables, to insert or update one database based on any
changes the previous day on different databases, kind of a manual
dataguard operation but only run once each night.

The delete option of the MERGE command seems pretty useless, at least
for my purposes. You can only delete a record that you updated (with
the MERGE command). I suppose there might be use or two for that kind
of usage, like maybe to refresh a read-only systme that managers would
use, and you'd want to remove any data that would adversely skew the
results (like a bonus to big after the update) or some other such
silly stuff. I would have much rather had the ability to delete
records in database B (the one I merge information into), if the
record existed there, but was deleted from Database A (the one I pull
update information from), but oh well, it wasn't difficult to just
write my own delete statement for those conditions.

--
-- Bill Ferguson

(Sorry for the double-post Chet, I just saw I hit 'Reply' instead of
'Reply All')
--
//www.freelists.org/webpage/oracle-l


Other related posts: