Using SQL Loader in more than one table

Hi all,
I have a new question for those who have used SQL Loader. I
have never used it and I just know that I need a control file to
tell SQL Loader what is my flat file layout and what table the
information goes to. My problem is: my flat file has information
that goes to two tables in my schema. Those files are very big
(aprox 280Mb) and I would like to read them just once. Can I do
this with SQL Loader?
Other question, is that the fastest way to import data from
flat files becouse I am using PERL and it takes aprox. 9 hours
to import 10 of those files. I could use UTL_FILE to read it but
I heard that SQL Loader was better.
Thanks for your cooperation
(Robocop)
Marcelo Lopes
Rio de Janeiro - Brazil

SQL*Loader is the fastest way to load, particularly in direct parallel mode, and can certainly load to multiple tables.
>
My advice would be to have a look at the examples given in the Oracle Utilities guide, there is one for loading to multiple
tables, which I have pasted below.
>
-- Loads EMP records from first 23 characters
-- Creates and loads PROJ records for each PROJNO listed
-- for each employee
LOAD DATA
INFILE ’ulcase5.dat’
BADFILE ’ulcase5.bad’
DISCARDFILE ’ulcase5.dsc’
REPLACE
INTO TABLE emp
(empno POSITION(1:4) INTEGER EXTERNAL,
ename POSITION(6:15) CHAR,
deptno POSITION(17:18) CHAR,
mgr POSITION(20:23) INTEGER EXTERNAL)
INTO TABLE proj
-- PROJ has two columns, both not null: EMPNO and PROJNO
WHEN projno != ’ ’
(empno POSITION(1:4) INTEGER EXTERNAL,
projno POSITION(25:27) INTEGER EXTERNAL) -- 1st proj
INTO TABLE proj
WHEN projno != ’ ’
(empno POSITION(1:4) INTEGER EXTERNAL,
projno POSITION(29:31 INTEGER EXTERNAL) -- 2nd proj
INTO TABLE proj
WHEN projno != ’ ’
(empno POSITION(1:4) INTEGER EXTERNAL,
projno POSITION(33:35) INTEGER EXTERNAL) -- 3rd proj
see the documentation for a complete explanation of the configuration.
Thanks, I will read it.

Similar Messages

  • How to delete the double records connected to one or more than one tables in SQL 2008?

    Hi
    Can anyone please help me with the SQL query. I Im having a table called People with columns names: personno., lastname, firstname and so on. The personno. is having duplicate records,so all the duplicate records i have written with "double" in
    the beginning of the numbers. I tried deleting these double records but they are linked to one or more than one tables. I have to find out, all the tables blocking the deleting of double person. And then create select statements which creates update statements
    in order to replace the current id of double person with substitute id. (The personno. is in the form of id's in the database)
    Thanks

    You should not append "double" in the personno. When we append it will not be able to join or relate to other table. Keep the id as it is and use another field(STATUS) to mark as duplicate. Also we will require another field(PRIMARYID) against
    those duplicate rows i.e the main or the primary personno.
    SELECT * FROM OtherTable a INNER JOIN
    (SELECT personno, status, primaryid FROM PEOPLE WHERE status = 'Duplicate') b
    ON a.personno = b.personno
    UPDATE OtherTable SET personno = b.primaryid
    FROM OtherTable a INNER JOIN
    (SELECT personno, status, primaryid FROM PEOPLE WHERE status = 'Duplicate') b
    ON a.personno = b.personno
    NOTE: Please take backup before applying the query. This is not tested.
    Regards, RSingh

  • How to use left outer join on more than one table (source)

    Hi all,
    In our project we are converting the Unix shell & SQL scripts into OWB mappings. We are facing problem converting left outer join in OWB. here is one of the example. i have just pasted the FROM and where condition.
    FROM ym_scr t1, branch_finmonth t3
    LEFT OUTER JOIN item_image t2
    ON (t1.branch_no = t2.branch_no
    AND t1.item_no = t2.item_no
    AND t3.to_date between t2.tran_dt and t2.to_dt
    AND t2.to_dt >= '$start_images' ) <<<========= '$start_images' THIS COMES FROM THE UNIX VARAIBLE ,
    We converts the same when we are putting it in OWB join Operator
    INGRP1.branch_no = INGRP2.branch_no(+)
    AND INGRP1.item_no = INGRP2.item_no(+)
    AND INGRP3.to_date between t2.tran_dt and t2.to_dt
    AND INGRP2.to_dt >= INGRP2.start_images
    But as you see in the OWB opreator we can put left join with INGRP1 with INGRP2.
    We can not make same join with INGRP3 & INGRP4 , becoz it failed saying "you cannot left outer join on more than one table/source".
    so overall this OWB code makes incomplete left outer join as per the above ANSI SQL join in Oracle.
    Bcoz of the problem we are getting less number of rows...........
    SO please please help me on this
    Regards
    Ashok

    Hi.
    I know this topic is here for a while now, but I had the same problem today, searched for help and didn´t find anything.
    Later I figured out how to do this.
    You just have to put the (+) one time, and the OWB converts in an LEFT OUTER JOIN statement.
    For this case, all you have to do is:
    ( INGRP1.branch_no = INGRP2.branch_no(+) AND INGRP1.item_no = INGRP2.item_no AND INGRP2.to_dt >= INGRP2.start_images )
    Regards,
    Godoy

  • Value Set Use More Than One table

    folks, is there a way to use more than one table in the value set of type table?

    ok if i want to create a view and then when i'm trying to create a table value set. what application should i be selecting? i have created my view in apps schema. if i look in application object library then i do not see it in the list. So i need to register this view? and i think we could not register the views. We could only register tables in apps.Yes you can -- In the Value Sets form (Edit Information button), you can set the view name in the "Table Name" field, and write a (Where/Order by) condition in the same window.
    Oracle Applications Flexfields Guide -- R12
    http://download.oracle.com/docs/cd/B53825_03/current/acrobat/121flexug.pdf
    Oracle Applications Flexfields Guide -- 11i
    http://download.oracle.com/docs/cd/B25516_18/current/acrobat/115flexug.pdf
    Thanks,
    Hussein

  • How do u save datas more than one table using net beans ide using JSF

    Hi,
    I am new to JSF.
    I save / delete / update / New master table using POJO (Plain Old Java Objects), database - oracle and Toplink Persistence Unit.
    How do u save data more than one table using net beans ide using JSF (I am using POJO) ?
    and also Tell me the reference book for JSF.
    Thanks in advance.
    regards,
    N.P.Siva

    SivaNellai wrote:
    I am new to JSF.
    So, I am using net beans IDE 6.1 from sun microsystem. It is a free software.No, you don't drag'n'drop if you're new to JSF. Switch to source code mode. Write code manually, with the help of IDE for the speed up.
    So, please guide me the reference books, articles. I need the basic understanding of JSF, net beans IDE.[JSF: The Complete Reference|http://www.amazon.com/JavaServer-Faces-Complete-Reference/dp/0072262400] is a good book. The [JSF specification document|http://jcp.org/aboutJava/communityprocess/final/jsr252/index.html] is also a good reading to understand what JSF is and how it works. There are also javadocs and tlddocs of Sun JSF Mojarra.

  • Crystal Report - More than one table from MySql

    Hello, I am in need of help big time.
    I have am using Visual Studio 2010 and Crystal Report 10.
    The problem that I am incounting is that I am unable to retreive data from more than one table from a MySql database. I have been stuck on this for too long and need to hjump the hurdle.
    I am using a MySql connection string, a dataset and a crystal report which is based on the dataset.
    The main error that I am having is, the browser opens and a form appears saying "The report you requetsed requires further information" With the Server name: DataSetPropertiesDetials, while the User name and Password fields are then enabled.
    I am guessing I am missing something in my code.
    When I retreive data from one table the report is fine, but when I try to use more than one table it throws the error.
    My Code is below and also attached:
    Imports System.Data.SqlClient
    Imports System.Configuration
    Imports MySql.Data.MySqlClient
    Imports CrystalDecisions.ReportSource
    Imports CrystalDecisions.Web
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.Shared
    Public Class _Default
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim con As MySqlConnection
    Dim rpt As New CrystalReport3()
    Dim myReport As New ReportDocument
    Dim myData As New DataSet
    Dim cmd As New MySqlCommand
    Dim cmdUser, cmdProperty, cmdBranch As New MySqlCommand
    Dim daBranch, daProperty, daUser As New MySqlDataAdapter
    con = New MySqlConnection()
    'Connection String
    con.ConnectionString = "Server=****;Database=***;UID=***;Password=****"
    Try
    con.Open()
    cmdBranch.CommandText = "SELECT branch FROM tblbranch"
    cmdBranch.Connection = con
    daBranch.SelectCommand = cmdBranch
    daBranch.Fill(myData)
    cmdProperty.CommandText = "SELECT ref, keys_held, key_no, keys_out, no_name, address_line1, address_line2,key_label FROM tblproperty"
    cmdProperty.Connection = con
    daProperty.SelectCommand = cmdProperty
    daProperty.Fill(myData)
    cmdUser.CommandText = "SELECT known_name FROM tbluser"
    cmdUser.Connection = con
    daUser.SelectCommand = cmdUser
    daUser.Fill(myData)
    myReport.Load("REPORT LOCATION")
    myReport.SetDataSource(myData)
    myReport.Database.Tables(0).SetDataSource(myData.Tables(0))
    CrystalReportViewer1.ReportSource = myReport '
    Catch myerror As MySqlException
    MsgBox(myerror.Message)
    End Try
    End Sub
    End Class

    Hi, 
    You have 3 SQL commands but you are calling SetDataSource only once.  You need to look through for each of the SQL Commands. 
    Good luck,
    Brian

  • Oracle OUTER JOIN on more than one table

    Hi!
    Friends, please help with this urgent problem: How can an outer join be written on more than one table?
    An SQL Server query:
    SELECT * from a INNER JOIN b on a.id = b.id LEFT OUTER JOIN c ON c.id = a.id AND c.id = b.id
    works fine with SQL SERVER
    But Oracle query:
    SELECT * from a,b,c WHERE a.id = b.id AND a.id = c.id (+) AND b.id = c.id (+)
    gives an error: OUTER JOIN cannot be used on more than one table? Why?
    I use OracleDriver from classes12.zip to connect to Oracle8i database.
    Please, help!

    The Oracle 8i and later SQL reference reads that the following "join_types" are supported and under this syntax it does not limit the LEFT OUTER JOIN (syntax the same as SQLServer example in original note) to two tables as implied in these notes:
    The join_type indicates the kind of join being performed:
    Specify INNER to indicate explicitly that an inner join is being performed. This is the default.
    Specify RIGHT to indicate a right outer join.
    Specify LEFT to indicate a left outer join.
    Specify FULL to indicate a full or two-sided outer join. In addition to the inner join, rows from both tables that have not been returned in the result of the inner join will be preserved and extended with nulls.
    You can specify the optional OUTER keyword following RIGHT, LEFT, or FULL to explicitly clarify that an outer join is being performed.

  • Update in JDBC Sender adapter for more than one table

    Dear Friends,
              I have to select more than one table in the JDBC sender using the join condition. But i found that update statement is also mandatory in the sender comm channel. I am not going to update any flag after the select but as it is mandatory, i have decided to use the following update statement which wont effect the existing data UPDATE <tablename> set flag = ' ' where flag = ' '.
    But in my case i have 3 tables, do i need to update stmts for all the three tables.
    if yes how can i do the same.
    plz revert back i u couldnt get the queries.
    Thanks
    Prem

    HI
    UPDATE T1
    Set T1.flag =1
    where T1.columnA=value1 and T2.columnB=value2
    where T1 and T2 are tables in the same database,
    and the values (value1 and value 2 ) are provided to XI by SAP based on which the flag need to be updated in T1
    write a stored procedure specifying the join and call it in XI.
    For doing it in SQL statement only reffer to the below link ..sur you will get help .
    Multiple records update using JDBC
    Regard's
    Chetan Ahuja

  • View more than one table in SD3 simultaneously

    Is there a way to 'view' more than one table at a time in SQL Developer 3? Currently, if I have a tab open that shows contents of a table, and I double-click on another table I want to look at, the previous table view closes, and a new one reopens. I'm looking for a way to keep two such views open at the same time.
    Has this question been addressed in the forum before?
    Thanks!

    ...and the useful Preferences - Database - Worksheet - Automatically Freeze Result Tabs...
    Have fun,
    K.

  • Layout issue - More than one table sections on report?

    Hello all
    I am wondering if any of you know if there is a way to have more than one table or table field on a report.
    I'm asking this because I'd like to include a large number of fields in one report, but then that makes the report hard to read (everything is on one long line).
    I am wondering if there is a way to have more than one table section on a report so I could have the address information at the top of the report than have other additional information below the address. Basically I'm interested in making things easier to read for the user.

    Use Pivot tables to isolate the columns you want in each table in your report.
    Mike L

  • Failed to upgrade more than one table at same time

    Hi
    In Deployment Manager, I failed to upgrade more than one table at same time.
    I tried to hightlight 4 tables and set the default action as Upgrade, and click File/Generate Deploy. It passed the code generation step then I click Deploy, they are all failed with no error message.
    But they are all successful when I upgrade them one by one. Any one has any idea about this?
    For the known reason, we have no choice to do the deployment with action of 'upgrade' through OMBPlus, instead, can only do that interactively through OWB Client. I can't imagine to ask our Production side DBA to upgrade 80 tables one by one. Or I have to use the generated scripts to do the upgrade, which will resulted in 'no deploy status updated' in OWB. Any help will be very appricated.
    The version I'm using is OWB 10g.
    Thanks,
    Daming

    Hi
    First of all, Patrick's solution doesn't work for me. I didn't do cloning and there is no problem when check the WB tables.
    Second, I think your solution is only good for the developing environment just to get tables upgrade via deployment manager. In most cases, when you do a new release on PROD environment you just exp/imp the MDL file from DEV to PROD and any developing is not recommended on PROD. But your approach is trying to manually the DB, and then EDIT the mapping to do the Reconcile and then deploy. Surely you can do that if you have full control on your PROD side. However, in my situation, I have no access to the PROD for the security reason and an DBA Operator of the Client is responsible to implement my Migration process on PROD by himself.

  • Mapping a CMP bean to more than one table

    Hello,
    I like to map a CMP bean to more than one table. I am using wlserver7.0 SP2. I
    have a VendorBean with a CMP field "comments" mapped to VENDOR_COMMENTS table.
    All other CMP fields in VendorBean are mapped to VENDOR table. Below is the snippet
    of weblogic-cmp-rdbms-jar.xml:
    <weblogic-rdbms-bean>
    <ejb-name>VendorBean</ejb-name>
    <data-source-name>sweepDataSource</data-source-name>
    <table-map>
    <table-name>VENDOR</table-name>
    <field-map>
    <cmp-field>expIndicator</cmp-field>
    <dbms-column>VENDOR_EXP_IND</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>vendorId</cmp-field>
    <dbms-column>VENDOR_SEQ_KEY</dbms-column>
    </field-map>
    </table-map>
    <table-map>
         <table-name>VENDOR_COMMENTS</table-name>
         <field-map>
    <cmp-field>vendorId</cmp-field>
    <dbms-column>VENDOR_SEQ_KEY</dbms-column>
    </field-map>
         <field-map>
    <cmp-field>comments</cmp-field>
    <dbms-column>VENDOR_COMMENT</dbms-column>
    </field-map>
    </table-map>
    As you can see, "vendorId" is the primary key cmp field mapped to VENDOR_SEQ_KEY
    column in both tables. The relationship between the table rows are 1 to 1. When
    I run ejbc, I get the exception below:
    [ejbc] weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Asserti
    on violated ]
    [ejbc] at weblogic.utils.Debug.assertion(Debug.java:74)
    [ejbc] at weblogic.ejb20.cmp.rdbms.RDBMSBean.processRole(RDBMSBean.java
    :1389)
    [ejbc] at weblogic.ejb20.cmp.rdbms.RDBMSBean.processDescriptors(RDBMSBe
    an.java:1105)
    [ejbc] at weblogic.ejb20.cmp.rdbms.Deployer.readTypeSpecificData(Deploy
    er.java:299)
    [ejbc] at weblogic.ejb20.persistence.PersistenceType.setTypeSpecificFil
    e(PersistenceType.java:490)
    [ejbc] at weblogic.ejb20.persistence.PersistenceType.setupDeployer(Pers
    istenceType.java:407)
    [ejbc] at weblogic.ejb20.deployer.CMPInfoImpl.setup(CMPInfoImpl.java:11
    4)
    [ejbc] at weblogic.ejb20.ejbc.EJB20CMPCompiler.generatePersistenceSourc
    es(EJB20CMPCompiler.java:64)
    [ejbc] at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:22
    3)
    [ejbc] at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:3
    44)
    [ejbc] at weblogic.ejbc20.runBody(ejbc20.java:470)
    [ejbc] at weblogic.utils.compiler.Tool.run(Tool.java:126)
    [ejbc] at weblogic.ejbc20.main(ejbc20.java:711)
    But if I put the "comments" <field-map> inside the VENDOR <table-map> and get
    rid off the <table-map> for VENDOR_COMMENTS, I was able to run ejbc. Of course,
    I get the run time exception during deployment because, there is no column called
    "VENDOR_COMMENT" in VENDOR table. Please help me. Thanks a million.

    Wrong newsgroup, needs to go to one of the ejb newsgroups.
    mbg
    "Sai S Prasad" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hello,
    I like to map a CMP bean to more than one table. I am using wlserver7.0SP2. I
    have a VendorBean with a CMP field "comments" mapped to VENDOR_COMMENTStable.
    All other CMP fields in VendorBean are mapped to VENDOR table. Below isthe snippet
    of weblogic-cmp-rdbms-jar.xml:
    <weblogic-rdbms-bean>
    <ejb-name>VendorBean</ejb-name>
    <data-source-name>sweepDataSource</data-source-name>
    <table-map>
    <table-name>VENDOR</table-name>
    <field-map>
    <cmp-field>expIndicator</cmp-field>
    <dbms-column>VENDOR_EXP_IND</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>vendorId</cmp-field>
    <dbms-column>VENDOR_SEQ_KEY</dbms-column>
    </field-map>
    </table-map>
    <table-map>
    <table-name>VENDOR_COMMENTS</table-name>
    <field-map>
    <cmp-field>vendorId</cmp-field>
    <dbms-column>VENDOR_SEQ_KEY</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>comments</cmp-field>
    <dbms-column>VENDOR_COMMENT</dbms-column>
    </field-map>
    </table-map>
    As you can see, "vendorId" is the primary key cmp field mapped toVENDOR_SEQ_KEY
    column in both tables. The relationship between the table rows are 1 to 1.When
    I run ejbc, I get the exception below:
    [ejbc] weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[Asserti
    on violated ]
    [ejbc] at weblogic.utils.Debug.assertion(Debug.java:74)
    [ejbc] atweblogic.ejb20.cmp.rdbms.RDBMSBean.processRole(RDBMSBean.java
    :1389)
    [ejbc] atweblogic.ejb20.cmp.rdbms.RDBMSBean.processDescriptors(RDBMSBe
    an.java:1105)
    [ejbc] atweblogic.ejb20.cmp.rdbms.Deployer.readTypeSpecificData(Deploy
    er.java:299)
    [ejbc] atweblogic.ejb20.persistence.PersistenceType.setTypeSpecificFil
    e(PersistenceType.java:490)
    [ejbc] atweblogic.ejb20.persistence.PersistenceType.setupDeployer(Pers
    istenceType.java:407)
    [ejbc] atweblogic.ejb20.deployer.CMPInfoImpl.setup(CMPInfoImpl.java:11
    4)
    [ejbc] atweblogic.ejb20.ejbc.EJB20CMPCompiler.generatePersistenceSourc
    es(EJB20CMPCompiler.java:64)
    [ejbc] atweblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:22
    3)
    [ejbc] atweblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:3
    44)
    [ejbc] at weblogic.ejbc20.runBody(ejbc20.java:470)
    [ejbc] at weblogic.utils.compiler.Tool.run(Tool.java:126)
    [ejbc] at weblogic.ejbc20.main(ejbc20.java:711)
    But if I put the "comments" <field-map> inside the VENDOR <table-map> andget
    rid off the <table-map> for VENDOR_COMMENTS, I was able to run ejbc. Ofcourse,
    I get the run time exception during deployment because, there is no columncalled
    "VENDOR_COMMENT" in VENDOR table. Please help me. Thanks a million.

  • More than one Table of Contents

    Does anyone know if RoboHelp now offers the ability to create
    more than one table of contents for a help project?

    Leon is right. The "workaround" we have used for years is to
    create multiple TOC (projectname.hhc) or Index (.hhk) files and
    archive them somewhere for safekeeping. Then use them to overwrite
    the existing ones in the project. It works but it's really
    inconvenient and you really have to pay attention to an archive
    naming scheme because the filenames must be the same as the project
    name.
    However, I just noticed that I forgot to report in my Adobe
    RoboHelp 7 sneak peek wrap up an even more robust implementation.
    BTW, here's the URL Peter mentioned
    http://tinyurl.com/2ldt7e
    Not only will you have multiple TOC/Index and Glossary
    definitions - you will also have the ability to add a "placeholder"
    from one custom TOC to another. It's a reference that can be placed
    anywhere in the hierarchy of the TOC. It works in a similar way
    that the Merged TOC icon works now. Way cool and takes the TOC
    (Index) to another level. They will also play nice with RoboSource
    Control if you are using that.
    Thanx,
    john

  • How to create Criterian For more than one table

    Hi,
    I have one problem how to create criteria for more than one table in that using one criteria hot to get the values from database in that more than onetable for getting these values .Please send me the exampke code.
    reagrds,
    raghu

    Hi,
    I don't think its possible to create fieldcatalog for different tables,
    but if you want to do so create a dummy table which has all the fields which you want in fieldcatalog.
    populate the data from different table to that dummy table
    then create fieldcatalog for that table and pass it in the function module...
    Regards,
    Siddarth

  • Persisting CMP bean over more than one table

    Hello,
    I was wondering if it is possible to persist an Entity Bean over more than
    one table using CMP. For example 3 attributes go in table A and 2 attributes
    go in table B.
    I can see this might come in handy when having some kind of inheritance in
    your architecture.
    Thanks,
    Rein Reezigt

    CMP are based on one DB object however object could be a database table or a
    view. You can create a view and base your bean on that view. This is mostly
    useful for read-only entity beans that just do select queries because databases
    have all kind of different restrictions on update froma view, ( for example
    ORACLE allows update to only one table in view). However in case you need a
    logical abstraction of multiple tables, consider EJB2.0 relations or a product
    like toplink for your object to relational mapping.
    Viresh Garg
    Principal Developer Relations Engineer
    BEA Systems
    Rein Reezigt wrote:
    Hello,
    I was wondering if it is possible to persist an Entity Bean over more than
    one table using CMP. For example 3 attributes go in table A and 2 attributes
    go in table B.
    I can see this might come in handy when having some kind of inheritance in
    your architecture.
    Thanks,
    Rein Reezigt

Maybe you are looking for