Re: Best practice for loading data into relational tables
Date: Mon, 17 Mar 2008 10:58:20 -0700 (PDT)
Message-ID: <f97badeb-f54a-4303-87ac-6912c204b85c@m44g2000hsc.googlegroups.com>
On Mar 16, 2:19 am, Anoop <anoopkum..._at_gmail.com> wrote:
> I am not sure if I can word this right. But I am trying to explore the
> best way of loading data into about 40-50 oracle tables. We have
> collected the data through various means / formats - some are in text
> files, excel, some that we know need to be arranged etc..
>
> The way we are doing it now, is to write insert statements for every
> line of data. So the actual arrangement of the data and writing the
> insert sql's are happening simultaneously. But there are many issues
> in writing insert sql's. The primary being debugging, - once I run the
> file containing all inserts, I get "1 row loaded" - doesnt really tell
> me which sql ran - each line runs independent of the row above or
> below it, the file just helps me run them all together, that is all.
> The other issue (related to the first) is if the tables are related
> then I need to order my inserts so that the primary key gets inserted
> before the child/foreign keys. This is a very manual process and I do
> not think this can be automated much.
>
> So I am thinking probably my approach is wrong - maybe I should deal
> with the data load in a different manner - is there any best practice
> that I could use? How have you guys handled data loads of medium size
> ~10000 rows going into 40 tables that are related to one another?
>
> Thanks.
What is your skill set? If you are really stuck using insert statements, what is stopping you from interspersing them with select statements for the row just inserted?
Best practice is SQL*Loader But even there you have options. you can load directly into your target tables or you can load a staging table and with procedures or triggers, load the target tables, Both parent and child tables.
ED Received on Mon Mar 17 2008 - 12:58:20 CDT